练习1

来源:互联网 发布:紫川软件招聘 编辑:程序博客网 时间:2024/06/05 19:56

古典问题:有一对兔子,从出生后第三个月起每个月都生一对兔子,小兔子涨到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?

思路:第i月生出来的兔子,到第i+2月可以开始生兔子。所以可以知道第i月的兔子对数等于第i-1个月的兔子对数,加上第i-2个月生下来的兔子的对数。

程序:
public class Practice1 {public static void main(String[] args){int sum[] = new int[1000];  //定义一个数组sum,第i个月的兔子总数为sum[i]sum[0] = 0;  //第0个月没兔子sum[1] = 1;  //第1个月有1对兔子sum[2] = 1;  //第2
个月有1对兔子System.out.println("第1个月的兔子总数是:1");System.out.println("第2个月的兔子总数是:1");  //输出前两个月的兔子总数int m = 20;  //统计到第m月for(int i = 3; i <= m; i++){  //计算从第三个月开始的兔子总数sum[i] = sum[i-1] + sum[i-2];  //第i个月的兔子总数等于第i-1个月的兔子总数加上第i-2个月生出来到第i个月可以生育的兔子数System.out.println("第" + i +"个月的兔子总数是:" + sum[i]);  //输出第i个月的兔子总数}}}
结果: