本文实例讲述了c#实现生成所有不重复的组合功能。分享给大家供大家参考,具体如下:
给你几个字母,比如(a,b,c,d,e,f),要求生成所有不重复的组合。
这里重复的定义是这样的,任意两个元素个数相同的组合,如果其包含的元素均两两相等,即视为重复,例如abc和cba就是重复。
嗯,大概意思就是这样,下面给出代码。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
static void main( string [] args)
{
string [] values = { "a" , "b" , "c" , "d" };
string s;
for ( int i = 1; i < math.pow(2, values.length) - 1; i++)
{
s = "" ;
for ( int j = 0; j < values.length; j++)
{
if ((i & ( int )math.pow(2, j)) == math.pow(2, j))
s += values[j];
}
console.write( "{0} " ,s);
}
console.read();
}
|
运行结果:
希望本文所述对大家c#程序设计有所帮助。
原文链接:http://blog.csdn.net/qq807081817/article/details/31384447