隐藏

C#实现生成所有不重复的组合功能示例

发布:2021/12/3 15:19:32作者:管理员 来源:本站 浏览次数:977

本文实例讲述了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();
}
运行结果: