【程序1】
题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?
1.程序分析: 兔子的规律为数列1,1,2,3,5,8,13,21....
斐波那契数列, Sn = Sn-1+Sn-2
- import <a href="http://lib.csdn.net/base/javaee" class='replace_word' title="Java EE知识库" target='_blank' style='color:#df3434; font-weight:bold;'>Java</a>.util.*;
- public class RubbitTest{
- public static void main (String[] args) {
- long s1,s2;// 定义这个月和下个月兔子的数量
- s1 = 1; //第一个月为1对
- s2 = 1; //第二个月为1对
- int i=1; //定义一个控制变量
- int m; // 月份数
- Scanner in = new Scanner(System.in); //从控制台输入想要查看的月份
- System.out.println("请输入你想要查看的月数:");//输入提示
- m = in.nextInt();//输入的整数月份赋值给m
- //while循环
- while(true){
- //第一个月和第二个月兔子的数量都为1对
- if(i==1||i==2){
- System.out.println(i+" month: "+s1);
- i++; // 控制变量 i 加1
- }
- // i 大于3并且小于我们需要查看的月份
- else if(i<m){
- s1 = s1+s2;
- s2 = s1+s2;
- System.out.println(i+" month: "+s1);
- i++;//月份加1
- System.out.println(i+ " month: "+s2);
- i++; //朋份加1
- }else{
- break;//不符合条件就退出
- }
- }
- }
- }