查找包含4个数字的所有组合,c#

时间:2014-11-15 17:26:09

标签: c# combinations combinatorics

我有4个号码,需要找到所有2位数的组合..

我尝试用2 for循环来做这件事,不幸的是剂量成功..

这是我的代码,代码中的小时间'是一个包含4个数字的数组,每个数字只有1位数

        int[] smallTime = new int[4];
        int i = 0;
        smallTime[0]=2;
        smallTime[1]=9;
        smallTime[2]=3;
        smallTime[3]=2;
        String st = "";
        for (; i < smallTime.Length; i++)
        {
            for (int j = 1; j < smallTime.Length; j++)
            {
                if (j == i)
                    j++;
                if (j >= smallTime.Length)
                    break;
                st += smallTime[i].ToString() + smallTime[j].ToString() + ",";
            }
        }

使用此数组,结果必须是:&#34; 29,23,22,93,92,32&#34;

1 个答案:

答案 0 :(得分:0)

由于你从j开始1,你正在跳过一些组合,比如i = 1,j = 0和i = 2,j = 0.等等。如果{我尝试跳过当前步骤{ {1}}和i相等。

j

修改:根据您的更新for (int i =0; i < smallTime.Length; i++) { for (int j = 0; j < smallTime.Length; j++) { if (j == i) continue; st += smallTime[i].ToString() + smallTime[j].ToString() + ","; } } 应该从j开始

i+1