斐波那契数列:若 一个数列前两项等于1,而从第三项每一项的值是前两项的和,则称为斐波那契数列;
即 1、1、2、3、5、8、13、34。。。。
实现代码如下
public class PrintSequence {
public static void main(String[] args) {
//打印斐波那契数列
int m=1; //第一项值为1
int n=1; //第二项值为1
int k=m+n; //第三项值为前两项的和
System.out.print(m+" ");
System.out.print(n+" ");
System.out.print(k+" ");
for (int i = 0; i < 9; i++) {
m=n;
n=k;
k=m+n;
System.out.print(k+" ");
}
}
}
打印结果
1 1 2 3 5 8 13 21 34 55 89 144
使用斐波那契数列解决兔子生兔子问题:
案例:有一对兔子,从出生后第三个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生出一对兔子,假如兔子不死,问每个月兔子总数为多少?一年以后兔子的总数是多少?
public class Rabbit{
public static void main(String[] args) {
int m=1;
int n=1;
int temp=m+n;
System.out.println("第一个月兔子个数"+m);
System.out.println("第二个月兔子个数"+n);
System.out.println("第三个月兔子个数"+temp);
int b=3; //从第三个月开始
while (b<12) {
m=n;
n=temp;
temp=m+n;
b++;
System.out.println("第"+b+"月兔子数量"+temp);
}
System.out.println(n+m+temp);//这是兔子的总数
运行结果如下:
第一个月兔子个数1
第二个月兔子个数1
第三个月兔子个数2
第4月兔子数量3
第5月兔子数量5
第6月兔子数量8
第7月兔子数量13
第8月兔子数量21
第9月兔子数量34
第10月兔子数量55
第11月兔子数量89
第12月兔子数量144
288