开始学JAVA-----经典案例之兔子问题

古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?
1.程序分析: 兔子的规律为数列1,1,2,3,5,8,13,21…
从第三个月起,后面的兔子总数都等于前面两个月的兔子总数之和,即为斐波那契数列。

package rabbit;

import java.util.Scanner;//调用Scanner类

public class rabbit {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner scanner = new Scanner(System.in);
		System.out.println("请输入第几个月:");
		int scan = scanner.nextInt();//获取用户输入的数字
		scanner.close();//关闭扫描器
		long f1 = 1,f2=1,f;//声明f1为第1个月的值,f2为第2个月的值,f为第3个月的值
		for (int i = 3; i <=scan; i++) {//这个规律是从第三个月开始有的,所以设 i=3
			f = f1+f2;//x+(x+1)=(x+2);
			f1 = f2;//得到第三个月的值后,将f1和f2的值赋值为下一个月的值
			f2 = f;
		}
		System.out.println("第"+scan+"个月兔子数量为:"+f2);//输出兔子数量
 	}

}

你可能感兴趣的:(案例)