有十个数 0 1 2 3 4 5 6 7 8 9,从这十个数中任选5个数进行排列组合,不能出现重复的排列,用代码怎么写呢?
解决方案 »
- 求高手指教,求具体代码,如何在C#中的richTextBox1.Text显示所选择的内容
- 为什么枚举类型可以被直接调用。
- c# 中 有人知道不用javascript,仅凭代码可以判断浏览器javascript enable么?
- C# 从一个数据集中随机一个字符串
- c# 我想把panel旋转90度后打印!!???
- 动态添加控件的css
- 请问VB里面的instancesOf语句在C#中对应是什么?
- .NET用户推出并返回登录页面
- 读取数据库中数据的语句,哪里有错?
- 程序出现错误,单击窗体程序出错自动退出,查了半天都查不出
- 打包后无法访问数据库
- 这段代码实现下载文件功能时报404错误,没法下载,不知道错在哪,高手帮忙啊
using System.Collections.Generic;
using System.Linq;namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
var nums= Enumerable.Range(0,10).ToList();
var cn = 0;
foreach (var p in 排列(nums))
{
Console.WriteLine("方案 {0}:", ++cn);
p.ForEach(x => Console.Write("{0} ", x));
Console.WriteLine();
}
Console.WriteLine("__________________________End!"); Console.ReadKey();
} public static IEnumerable<List<int>> 排列(List<int> nums)
{
return 排列(nums, nums.Count);
} public static IEnumerable<List<int>> 排列(List<int> nums, int count)
{
if (count > 1)
{
foreach (var a in 排列(nums, count - 1))
{
var b = a.ToList();
for (var i = b.Count; i >= 0; i--)
{
b.Insert(i, nums[count - 1]);
yield return b;
b.RemoveAt(i);
}
}
}
else
yield return new List<int> { nums[0] };
} }}
var nums = Enumerable.Range(0, 10).OrderBy(x => rnd.Next()).Take(5).ToList();