本文实例讲述了C#实现生成所有不重复的组合功能。分享给大家供大家参考,具体如下:
给你几个字母,比如(a,b,c,d,e,f),要求生成所有不重复的组合。
这里重复的定义是这样的,任意两个元素个数相同的组合,如果其包含的元素均两两相等,即视为重复,例如abc和cba就是重复。
嗯,大概意思就是这样,下面给出代码。
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#相关内容感兴趣的读者可查看本站专题:《C#数据结构与算法教程》、《C#程序设计之线程使用技巧总结》、《C#常见控件用法教程》、《WinForm控件用法总结》、《C#数组操作技巧总结》及《C#面向对象程序设计入门教程》
希望本文所述对大家C#程序设计有所帮助。
您可能感兴趣的文章:
- C#生成指定范围内的不重复随机数
- C#生成不重复随机字符串类
- C#生成唯一不重复订单号
- C#随机生成不重复字符串的两个不错方法
- C#不重复输出一个数组中所有元素的方法
- C#实现在购物车系统中生成不重复订单号的方法
- c# 两个数组比较,将重复部分去掉,返回不重复部分的实现
- C#实现排列组合算法完整实例
- C#中实现任意List的全组合算法代码
- C#查找字符串所有排列组合的方法
- C#实现组合排列的方法
- 详解C#的排列组合