各位に使用できる数字(または文字)に制限がある
n桁の整数(文字列)を生成したい。

1桁目: 1, 2
2桁目: 4, 5, 6
3桁目: 7, 8

この場合だと 2*3*2 = 12 通りの整数が作れます。
forを3重にすればできるのですが、このやり方は避けたい。
n桁になっても対応できるコードを書きたいです。

いいやり方、教えてください。