打印斐波那契数列(Java)解决兔子生兔子古典问题

斐波那契数列:若 一个数列前两项等于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

猜你喜欢

转载自blog.csdn.net/qq_42982340/article/details/84284977