可能重复:
数组的不同组合(C#)
string[] array = {"01", "02", "03", "04", "05", "06", "07", "08", "09", "10"};
如何为每个组合生成 2 / 3 / 4 / 5 个字符串,例如每个组合 2 个字符串,没有重复/重复,也无视位置,使用组合公式 nCr = 10!/2!(10-2)!= 45 种组合。
我需要输出是这样的:
"01", "02"
"01", "03"
"01", "04"
...
"02", "03" // eliminate the "02","01" 'cause it is same as "01","02" combination
"02", "04"
...
然后生成 3 个字符串的组合,将有 120 个组合(根据 nCr)。我需要输出是这样的:
"01","02","03"
"01","02","04"
...
而 4 个字符串的组合,将有 210 个组合,最少,每个组合 5 个字符串的组合,将有 252 个组合。
我该怎么写?我用了很多循环,看起来真的很乱。