生成所有组合

时间:2011-02-27 05:57:17

标签: c# algorithm combinations

鉴于唯一数字的存储桶,我们如何生成所有组合,只需从每个存储桶中选择一个数字。

例如,如果给出{1,12,3}和{4,22,6},答案是:
1/4 12/22 3/6
1/4 12/6 3/22
1/22 12/4 3/6
1/22 12/6 3/4
1/6 12/4 3/22
1/6 12/22 3/4

当然,我们不只是需要2个桶,而是需要n个桶。 每个桶可以包含任意数量的数字;这些数字在桶中是唯一的。

c#中的任何算法都将受到赞赏。 我希望结果如下:List< List< int []>>

谢谢!