计算耗子数量

来源:互联网 发布:php积分系统源码 编辑:程序博客网 时间:2024/06/11 08:55
package TestMain;


import java.util.Scanner;


/**
 * 题目: 第0个月有2只老耗子,每对老耗子每个月会产下一对小耗子,
 *      小耗子经历3个月的成长周期,在第4个月成为老耗子,并且
 *      也具备生育能力产下一对小耗子。求在第20个月一共有多少
 *      只耗子?
 * @author 刘剪发
 */
public class CountMouseNumber {

public static void main(String[] args) {

//分析: 耗子总的数量由四类耗子的数量加总得来,分别是老耗子、一月大耗子、
//     2月大耗子、3月大耗子,且本月老耗子数量 = 上月老耗子数量 + 上月3月大耗子数量
//     本月1月大耗子数量 = 上月老耗子数量
//     本月2月大耗子数量 = 上月1月大耗子数量
//     本月3月大耗子数量 = 上月2月大耗子数量
//     据此抽象出循环关系,并计算出第20个月的耗子总数


int oldMouseNumber = 2;//第0个月老耗子2只

int oneMonthNumber = 0;//第0个月1月大耗子0只

int twoMonthNumber = 0;//第0个月2月大耗子0只

int threeMonthNumber = 0;//第0个月1月大耗子0只

Scanner input = new Scanner(System.in);
System.out.println("请输入月份:");
int month = input.nextInt();
//利用for循环,计算出第20个月耗子的总数量
for(int i = 0;i < month;i++){

//此处一定要注意先后顺序,不然很容易出错
oldMouseNumber = oldMouseNumber + threeMonthNumber;
threeMonthNumber = twoMonthNumber;
twoMonthNumber = oneMonthNumber;
oneMonthNumber = oldMouseNumber;
}
int result = oldMouseNumber + oneMonthNumber + twoMonthNumber + threeMonthNumber; 
System.out.println("第"+month+"个月老鼠总数为:"+result);
}


}
0 0
原创粉丝点击