很久以前用来枚举组合数的,当时应该是C(4,11)。
class Program
{
static void Main(string[] args)
{
int sum = 0;
int[] vs = new int[4];
int[] vars = new int[11]{1,2,3,4,5,6,7,8,9,10,11};
G(0, 0, 4, ref vars, ref vs, ref sum);
Console.WriteLine(sum);
}
static void G(int startIndex, int count, int n, ref int[] vars, ref int[] vs, ref int sum)
{
if (count == n)
{
sum++;
Console.WriteLine("{0}-{1}-{2}-{3}", vs[0], vs[1], vs[2], vs[3]);
}
else
{
if ((startIndex < vars.Length) && ((vars.Length - startIndex) >= (n - count)))
{
vs[count] = vars[startIndex];
count++;
G(startIndex + 1, count, n, ref vars, ref vs, ref sum);
count--;
G(startIndex + 1, count, n, ref vars, ref vs, ref sum);
}
}
}
}
分享到:
相关推荐
在本文第一段代码中有一句话如下: cursor c_emp is select * from employee where emp_id=3; 其含义是定义一个游标c_emp,代表employee表中所有emp_id字段为3的结果集。当需要操作该结果集时,必须完成三步:打开...
游戏的背景音乐是由一段代码调用系统播放器Windows Player播放背景音乐,由于本次设计主要是针对游戏如何设计的,所以在这里就不对播放背景音乐的功能做介绍了。 2.1.2俄罗斯方块的造型 相信朋友们都玩过俄罗斯方块...
在本文第一段代码中有一句话如下: cursor c_emp is select * from employee where emp_id=3; 其含义是定义一个游标c_emp,代表employee表中所有emp_id字段为3的结果集。 当需要操作该结果集时,必须完成三步:...
为了避免这种情况发生,需要让它们分别等待一段随机的时间 性能与可伸缩性 概念 运行速度(服务时间、延时) 处理能力(吞吐量、计算容量) 可伸缩性:当增加计算资源时,程序的处理能力变强 ...
栈是一种线形集合,其添加和删除元素的操作应在同一段完成。栈按照后进先出的方式进行处理。 堆是栈的一个组成元素 22、forward 和redirect的区别 forward是服务器请求资源,服务器直接访问目标地址的URL,把...
所以这个选项当然没有时间参数,但是可以输入一个用来解释的讯息,而这信息将会送到每位使用者。 -F:在重启计算机时强迫fsck。 -time:设定关机前的时间。 -m: 将系统改为单用户模式。 -i:关机时显示系统...
栈是一种线形集合,其添加和删除元素的操作应在同一段完成。栈按照后进先出的方式进行处理。 堆是栈的一个组成元素 19、forward 和redirect的区别 forward是服务器请求资源,服务器直接访问目标地址的URL,把那个URL...
完全二叉树是指这样的二叉树:除最后一层外,每一层上的结点数均达到最大值;在最后一层上只缺少右边的若干结点。 对于完全二叉树来说,叶子结点只可能在层次最大的两层上出现:对于任何一个结点,若其右分支下的...
ls -lt 是“-l”和“-t”的组合,按时间顺序显示列表。 ls -F 显示文件类型,目录“/ ”结尾;可执行文件“*”结尾;文本文件(none),没有结尾。 ls -R 递归显示目录结构。即该目录下的文件和各个副目录下的文件...
修改XP风格支持库,解决GDI资源泄露,以及在使用通用组件库六时组合框标题出现重影的BUG。 5. 修改扩展界面支持库一,解决树形框项目无法通过鼠标点击进入编辑状态的BUG。 6. 修改高级表格支持库,解决插入行/...
JAVA模版引擎Freemarker常用标签(一) 1. if指令 这是一个典型的分支控制指令,该指令的作用完全类似于Java语言中的if,if指令的语法格式如下: <#if condition>... <#elseif condition>... <#elseif condition>......