java基础编程练习题--兔子生兔子问题

java基础编程练习题--兔子生兔子问题

题目要求

现有一对兔子,每一对兔子每个月都会生一对小兔子,小兔子在月龄达到第三个月开始每个月就可以生一对,兔子不会出现生老病死,经过一年,每个月兔子总数有多少对?

题目分析

  1. 先从月份下手,发现题目要求是经过一年,所以就是12个月,使用while循环来模拟月份的更替。
//定义初始的月份为0,一进到循环里面就+1,第一次循环就是从1月份开始
int month = 0;
while(month < 12){
	month += 1;
	...
}
  1. 那么每个月都要进行生产,每个月小兔子的月龄都要+1(3+月龄的老兔子不用管月龄)。解决这两个问题也很简单,上面第一条我们已经把月份更替的代码写出来了,把这两个问题的解决代码写在循环里面就行了。生产的话,就是有多少对可以生产,就再生出几对,就存在每月新生数量和可以生产数量的关系为1:1。
  2. 怎么记录 可以生产、1月龄、2月龄这三种兔子的数量呢,我们可以申明三个变量来分别存储,其中1月龄、2月龄变量的初始值都为0,每循环一次,就把2月龄的数量加到可以生产的数量里面,再把1月龄数量设为2月龄数量,再把循环本月新生的数量设为1月龄的数量,就结束了一个月生产及月龄的变化问题。

java代码示例

public static void main(String[] args){
//      原始的兔子数量(3月龄及以上)
        int rabbit3_num = 1;
//      1月龄数量
        int rabbit1_num = 0;
//      2月龄数量
        int rabbit2_num = 0;
//      兔子总对数
        int count_rabbit = 0;
//      每个月份生一遍
        int month = 0;
        while(month < 12){
            month += 1;
//          每一对兔子都生一下来一对
            int now_month_num = 0;//本月生出的数量
//          把二月的加入到可以生产的兔子中(上次循环就已经加入二月的兔子)
            rabbit3_num += rabbit2_num;
//          把出生一个月的兔子加到二月龄中
            rabbit2_num = rabbit1_num;
//          进行生产,1:1进行生产
            now_month_num = rabbit3_num;
//          把本月生下来的赋给一月龄
            rabbit1_num = now_month_num;

//          计算出总兔子对数
            count_rabbit = rabbit3_num + rabbit2_num + rabbit1_num;
//          结果输出
            System.out.println("经过"+month+"月,共有"+count_rabbit+"对");
        }
    }

输出结果

程序输出的结果

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值