java编程题古典算法之兔子问题

1.题目如下。

 

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

分析每个月的兔子对数:

1------1

2------1

3------2

4------3

5------5

6------8

7------13

分析每个月的兔子对数,发现这是一个菲波拉契数列问题。

public class Rabbit{
public static void main(String[]args){

 int m1=1;//第一个月的对数
		    int m2=1;//第二个月的对数
		    int m;//总的对数
		    for(int i=3;i<=24;i++){
		    m=m1+m2;//后面月份的对数,是前两个月对数之和,加完,并且更新前两个 月对数。
		    m1=m2;
	        m2=m;
	       System.out.println(i+"月是"+"兔子对数:"+m);
}
}

 

 

 

 

 

posted @ 2017-08-03 07:57  杰醍奋  阅读(223)  评论(0编辑  收藏  举报