给定2个数组 Array1 = {a,b,c...n}
和 Array2 = {10,20,15....x}
,如何生成所有可能的组合作为字符串 a(i) b(j) c(k) n(p),其中
1 <= i <= 10, 1 <= j <= 20 , 1 <= k <= 15, .... 1 <= p <= x
例如:
a1 b1 c1 .... n1
a1 b1 c1..... n2
......
......
a10 b20 c15 nx (last combination)
因此,所有组合的总数= array2
的元素乘积=
(10 X 20 X 15 X ..X x)
类似于笛卡尔积,第二个数组定义了第一个数组中每个元素的上限。
以下是固定数字的示例,
Array x = [a,b,c]
Array y = [3,2,4]
因此我们将有3*2*4 = 24种组合。结果应该是:
a1 b1 c1
a1 b1 c2
a1 b1 c3
a1 b1 c4
a1 b2 c1
a1 b2 c2
a1 b2 c3
a1 b2 c4
a2 b1 c1
a2 b1 c2
a2 b1 c3
a2 b1 c4
a2 b2 c1
a2 b2 c2
a2 b2 c3
a2 b2 c4
a3 b1 c1
a3 b1 c2
a3 b1 c3
a3 b1 c4
a3 b2 c1
a3 b2 c2
a3 b2 c3
a3 b2 c4 (last)