最简单的,不考虑效率
string[] number ={ "1","2","3","4","5"}; int maxNum = 10; List<string> ret = new List<string>(); for (int i = 0; i < 5; i++)
{
string temp = number[i];
for (int j = 0; j < 5; j++)
{
for (int n = 0; n < 5; n++)
{
if(j!=i && n!=i && n!=j)
{
ret.Add(number[i] + number[j] + number[n]);
if (ret.Count >= maxNum)
break;
}
if (ret.Count >= maxNum)
break;
}
if (ret.Count >= maxNum)
break;
}
if (ret.Count >= maxNum)
break; } string outStr = string.Empty;
foreach (string s in ret)
{
if (!string.IsNullOrEmpty(outStr))
outStr += ",";
outStr += s; } MessageBox.Show(outStr);
string[] number ={ "1","2","3","4","5"}; int maxNum = 10; List<string> ret = new List<string>(); for (int i = 0; i < 5; i++)
{
string temp = number[i];
for (int j = 0; j < 5; j++)
{
for (int n = 0; n < 5; n++)
{
if(j!=i && n!=i && n!=j)
{
ret.Add(number[i] + number[j] + number[n]);
if (ret.Count >= maxNum)
break;
}
if (ret.Count >= maxNum)
break;
}
if (ret.Count >= maxNum)
break;
}
if (ret.Count >= maxNum)
break; } string outStr = string.Empty;
foreach (string s in ret)
{
if (!string.IsNullOrEmpty(outStr))
outStr += ",";
outStr += s; } MessageBox.Show(outStr);
解决方案 »
- 【急】仿QQ登录(利用web service)
- office 2012的菜单怎么能做出来?
- C# QQ服务器怎么写
- wpf弹出窗体的问题
- List<类> 使用findall 提示没有findall
- 未能找到类型或命名空间名称“JSONOperate”(是否缺少 using 指令或程序集引用?)
- 请问用C#做计算器,实现标准型和科学型,并添加声音该如何做啊??急急急!!!谢谢!
- .net为什么这么奇怪?internal 方法不可访问,internal virtual 方法就可以重写
- 转用C#.net做应用程序开发从哪里开始?
- EF的Local查询效率好低啊,真坑
- scriptx打印控件在2003系统下不能正常打印
- C#怎么根据服务器IP地址,端口号,登陆名,密码这些测试FTP或NTP是否连通呢
//选出不重复的数
private List<int> SelectNum(List<int> nums)
{
for (int i = 0; i < nums.Count; i++)
{
for (int j = i + 1; j < nums.Count; j++)
{
if (nums[i] == nums[j])
{
nums.Remove(nums[i]);
i = -1;
break;
}
}
}
return nums;
}//测试
static void main(string[] args)
{
List<int> nums = new List<int>(); //3、5、9、7
nums.Add(3);
nums.Add(5);
nums.Add(9);
nums.Add(7);
nums.Add(3); nums = SelectNum(nums); string newStr = ""; for (int i = 0; i < nums.Count; i++)
{
newStr += nums[i].ToString();
for (int j = 0; j < nums.Count; j++)
{
if (i == j)
{
continue;
}
else
{
newStr += nums[j].ToString();
for (int z = 0; z < nums.Count; z++)
{
if (z == i || z == j)
{
continue;
}
else
{
newStr += nums[z].ToString(); if (newStr.Length == 3)
MessageBox.Show(newStr);
newStr = newStr.Substring(0, 2);
}
}
newStr = newStr.Substring(0, 1);
}
}
newStr = "";
}
}