【程序 1】
题目:古典问题:有一对兔子,从出生后第 3 个月起每个月都生一对兔子,小兔
子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?
程序分析: 兔子的规律为数列 1,1,2,3,5,8,13,21....
从题目中发现从第三个月开始,前两个月兔子数之和为第三个月兔子总数,解题思路参考程序注释
代码实现:
import java.util.Scanner;
public class NO1 {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
int result=1; //每个月的兔子总数
int a=0; //前一个月份的兔子数
int month; //月份
String s; //保存输入的字符
System.out.print("请输入月份:"); //显示提示信息
Scanner sc = new Scanner(System.in); //接收输入的数据,回车结束
s = sc.next();
month=Integer.parseInt(s); //将数字字符转化成整型数字
System.out.print("\n每个月的兔子总数为:"); //显示提示信息
if(month>=1) //月份大于等于1,先输出起始总数
System.out.print(result+",");
for(int i=2;i<=month;i++)
{int b; //中间变量
b=result;
result+=a; //本月的兔子数等于前两个月的兔子数相加
a=b;
System.out.print(result+",");
}
}
}
运行结果: