题目:
一只兔子三年可以生一只兔子 刚出生的兔子等三年可以生兔子 有x只兔子 有y年 计算有多少只兔子 假如兔子都不死,问兔子总数为多少?
相关题目:Java程序之可爱的小兔兔_java 经典编程题有一对兔子-CSDN博客(注:题目不同)
在看到这个问题的时候 脑海立马浮现
用一只兔子试一下↓↓↓↓↓↓↓↓
public static void main(String[] args) {
int rabbit = 1;
int year = 10;
int oneYearRabbit = 0;
int twoYearRabbit= 0;
int threeYeaRabbitr = 0;
while (year > 0){
oneYearRabbit =rabbit;
rabbit =rabbit +threeYeaRabbitr;
threeYeaRabbitr =twoYearRabbit;
twoYearRabbit =oneYearRabbit;
year --;
}
System.out.println(rabbit + oneYearRabbit+twoYearRabbit + threeYeaRabbitr);
}
输出了 79。。。。。
哪里出问题了
oneYearRabbit =rabbit;
twoYearRabbit =oneYearRabbit;
因为第一年的兔子已经赋值了 所以算多了。。。。。。
然后 在用一只兔子试一下↓↓↓↓↓↓↓↓
public static void main(String[] args) {
int rabbit = 1;
int year = 10;
int oneYearRabbit = 0;
int twoYearRabbit= 0;
int threeYeaRabbitr = 0;
while (year > 0){
int yearRabbit = oneYearRabbit;
oneYearRabbit =rabbit;
rabbit =rabbit +threeYeaRabbitr;
threeYeaRabbitr =twoYearRabbit;
twoYearRabbit =yearRabbit;
year --;
}
System.out.println(rabbit + oneYearRabbit+twoYearRabbit + threeYeaRabbitr);
}
输出36.。。。。。还是不对 为什么呢 ????
被自己蠢笑了。。。。oneYearRabbit =rabbit; 这样成了每年兔子都能生兔子了
稍加思索以后 答案来了!!
public static void main(String[] args) {
int rabbit = 1;
int year = 10;
while (year>=3){
rabbit = rabbit * 2;
year = year - 3;
}
System.out.println(rabbit);
}
输出8
这个问题让我明白了 一看到问题就直接解决的方案 大概率不是最好的方案 所以思考很重要
要是有更好的办法 欢迎大家评论一下 学习学习!
那么问题来了:
那要是 一只兔子只有九年的寿命呢 该怎么计算呢???