生成所有不重复的组合
2014-06-16 15:54
134 查看
给你几个字母,比如(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();
}
这里重复的定义是这样的,任意两个元素个数相同的组合,如果其包含的元素均两两相等,即视为重复,例如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#实现生成所有不重复的组合功能示例
- 递归列举从数组b()中选出某些元素(允许重复)使其和等于num的所有组合
- 求一数组中某一范围内所有组合(不重复)C#
- 给出若干个位数字, 计算所有不重复组合.
- 递归求解几类排列组合问题(六、非重复生成全子集组合排列)
- 打印出大小为n的数组(可能有重复元素)里所有可能的组合
- [组合算法] 生成不重复的字符串
- 给定一列字符,生成指定长度的所有可能的组合
- 生成集合的所有组合 - Gray Code
- 生成集合的所有组合 - 递归法
- 输出字符串所有组合(含有重复的字符)及输出其所有子串(含有重复的字符)
- 求1-n之间所有不重复的可能的值的和等于m的组合
- 输出所有的字符组合(可重复)
- 非重复组合排列(含重复数字时,生成不重复组合排列)
- 高效生成所有的组合
- 面试题:给定一个的电话号码,问生成的所有字母组合(容易记的电话号码)
- 非重复生成全子集组合排列(含重复数字时,生成不重复全子集组合排列)
- 输入一串不重复的字符串,列出所有可能的组合(java实现)
- 从n个元素中选择k个的所有组合(包含重复元素)
- 找出一个字符数组(元素不重复)所有可能字符的组合