查找所有带有 4 个数字的组合,c#
本文关键字:组合 数字 查找 | 更新日期: 2023-09-27 18:30:38
我有 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() + ",";
}
}
使用此数组,结果需要为:"29,23,22,93,92,32"
由于您从1
开始j
,因此您跳过了一些组合,例如i = 1,j = 0和i = 2,j = 0等。相反,如果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
开始
for (int i = 0; i < smallTime.Length; i++)
{
for (int j = i + 1; j < smallTime.Length; j++)
{
st += smallTime[i].ToString() + smallTime[j].ToString() + ",";
}
}