任五也可能是任六,任三如果任五部分结果为:
1 2 3 4 5 
1 2 3 4 6 
1 2 3 4 7 

怎么写程序实现所有组合谢谢

解决方案 »

  1.   

    笨方法 分别放数组里 排序 比较长度、各个索引下数字是否相同 全部true则相同
      

  2.   

    我用我的递归算法做了下,求得的结果数目是没错了,只不过后面的一些项都会多出很多字符我把我的放出来,楼主自己改下。。
            public char[] num = new char[] { 'a','b','c','d','e','f','g','h','i','j','k' };
            public string s="";
            public int totalnum=0;     
     private void button7_Click(object sender, EventArgs e)
            {
                for (int i = 0; i <= 10; i++)
                {
                    s = s + num[i];
                    returnstr(i+1, 1);
                }                textBox2.Text =s;
                    textBox1.Text = totalnum.ToString ();
            }        public void returnstr(int min, int step)
            {
                if (step + 1 > 5)
                {
                    return;
                }
                else
                {
                    for (int i = min; i <= 10; i++)
                    {
                        s += num[i].ToString();
                        if (step + 1 == 5)
                        {
                            s += "     ";
                            totalnum = totalnum+1;
                        }
                        returnstr(i+1, step + 1);
                    }
                } 
            }