如下的计算,出来的方式是全排列的,我想要如相加和值为3
会有012 120 021 等出现,现在我想如果三个数字都一样,只取其中一个
如 012 120 021 只要其中一个for (int i = 0; i < 10; i++)
{
for (int j = 0; j < 10; j++)
{
for (int k = 0; k < 10; k++)
{
//生成01-1000
if (i + j +k== tAddnum)
{ Calcnum++;
addNum.Add(Calcnum.ToString()+":"+i.ToString() + "+" + j.ToString() + "+" + k.ToString()); }
}
}
}
会有012 120 021 等出现,现在我想如果三个数字都一样,只取其中一个
如 012 120 021 只要其中一个for (int i = 0; i < 10; i++)
{
for (int j = 0; j < 10; j++)
{
for (int k = 0; k < 10; k++)
{
//生成01-1000
if (i + j +k== tAddnum)
{ Calcnum++;
addNum.Add(Calcnum.ToString()+":"+i.ToString() + "+" + j.ToString() + "+" + k.ToString()); }
}
}
}
解决方案 »
- DataTable importData = this.GetDataFromExcel(fileName); 为什么不可以用
- 函数中在while中引用自己为什么会有死循环呢?
- 对象序列化问题急救!大虾来帮忙!
- 个人关于委托的看法,但不是下结论。请各位交流。
- 移动设备创建数据表问题
- 请教,现在程序员该考什么证.算是提升自已的资本的?
- 拯救,顶贴,谢谢各位!
- 高手进来帮帮忙!!!急..为什么点击"添加课程"一点反应也没有???
- 新手求助
- C#打开word的问题!!
- 调试时提示已定义具有相同参数类型的成员,求指导
- “System.Data.SqlClient.SqlException”类型的未经处理的异常出现在 System.Data.dll 中。
for (int i = 0; i < 10; i++)
{
for (int j = 0; j < i; j++)
{
for (int k = 0; k < j; k++)
{
//生成01-1000
if (i + j +k== tAddnum)
{ Calcnum++;
addNum.Add(Calcnum.ToString()+":"+i.ToString() + "+" + j.ToString() + "+" + k.ToString()); }
}
}
}
用个字符串数组把3个数字全排列就是6个不同组合存起来
就是长度为6的字符串数组存放6中不同组合
然后遍历字符串数组,判断addNum里是否包含字符串数组的其中一个元素,没有就add进来
希望有简单的方法