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);
}
}