java编程题之裴波那契数列

古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总对数为多少?

  • 下边的分析是通过Excel表格做出来的,因为不知道它具体生产的情况,所以就一个月一个月的试,最后得到下列的情况
	/**
	  * 古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,
	  * 小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,
	  * 问每个月的兔子总对数为多少?
	  * 第一月	:(1)1
	  * 第二月	:(1)1
	  * 第三月	:(2)1+1
	  * 第四月	:(3)1+1+1
	  * 第五月	:(5)1+1+1+1+1
	  * 第六月	:(8)1+1+1+1+1+1+1+1
	  * 第七月	:(13)1+1+1+1+1+1+1+1+1+1+1+1+1
	  * 第八月	:(21)1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1
	  * 第九月	:(34)1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1
	  * 第十月	:(55)1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1
	  *	第十一月:(89)1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1
	  *	第十二月:(144)1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1
	  *
	  *	根据上边的分析,很明显,
	  *	当前月的兔子总对数=前两个月兔子对数和
	  *
	  *	第三月:1+1=2
	  *	第四月:1+2=3
	  *	第五月:2+3=5
	  *	第六月:3+5=8
	  *	第七月:5+8=13
	  *	第八月:8+13=21
	  *	第九月:13+21=34
	  *	第十月:21+34=55
	  */
	 public static void rabbit(){
		 int month = 0;
		 Scanner in = null;
		 try{
			 month = getMonth(in,month,"请输入你饲养兔子的月份:");
			 if(month<1){
				 month = getMonth(in,month,"月份不能小于1个月,请重新输入饲养兔子的月份:");
			 }
		 }catch(Exception e){
			 month = getMonth(in,month,"你输入的月份不合法,请重新输入饲养兔子的月份:");
		 }
		 long [] rb= new long[month];
		 for(int i=0;i

你可能感兴趣的:(算法)