MySQL从m到n的所有偶数之和_把2N个球放到M个盒子里(N>=M)使得各盒中的球数为偶数...

把2N个球放到M个盒子里(N=M)使得各盒中的球数为偶数 By:Luo Weifeng 2011-3-16 昨天一MM(老同桌)问了我一简单的算法设计题。题目就这个题目,算是很简单了,不过越是简单的事情越考验一个人的东西。 To iterate is human, torecurse divine L. Peter Deu

把2N个球放到M个盒子里(N>=M)使得各盒中的球数为偶数

By:Luo Weifeng 2011-3-16

昨天一MM(老同桌)问了我一简单的算法设计题。题目就这个题目,算是很简单了,不过越是简单的事情越考验一个人的东西。

“To iterate is human, to

recurse divine”——L. Peter Deutsch (“人理解迭代,神理解递归。”)

问题不难所以就很快搞定了,让我再次回头看这个问题的原因是,这么简单的问题竟然综合了 iterate和recurse的方法。废话不说,贴代码如下:

package test;

/*

把2N个球放到M个盒子里(N>=M)使得各盒中的球数为偶数

*/

public class CopyOfBulbSeparation{

static final int M = 3;

static final int N = 4;

static int[] boxQueue = new int[M];

static void SeparationBulb(int length,int N){

if(length == 1 ){

boxQueue[M - 1] = N;

for(int i = 0;i < boxQueue.length;i++){

System.out.print("/t"+2*boxQueue[i]+"/t");

}

System.out.println();

return;

}

for(int i = 0; i <= N;i++){

boxQueue[M - length] = i;

SeparationBulb(length-1,N - i);

}

}

public static void main(String[] args){

System.out.println("M:" + M);

System.out.println("N:" + N);

SeparationBulb(M,N);

}

}

运行结果:

M:3

N:4

008

026

044

062

080

206

224

242

260

404

422

440

602

620

800

代码没什么好说的,很简单。O(∩_∩)O~

f68f2add0b68e4f9810432fce46917b7.png

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值