我有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;
答案 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