原题:一个猴子每天吃总桃子数量的一半多一个,一直到第n天吃完的时候,第n+1天还没开吃的时候剩下一个,求总桃子数量
思路:第n天的时候剩下一个,那么第n-1天,就是剩下(1+1)*2=t=4个桃子
第n-2天的时候,就是剩下(t+1)*2个桃子,以此类推····
·········································································································
初次学习时候的想法:
我可以设置一个形式参数在方法里,用于接收在第n天吃完的时候剩下一个 。 第一想到的是递归
以下是初学时想到的方法:class Monky_Eat{
int taoziNum=1;用于保存最后一天剩下的桃子数量 也是最后桃子总数量的接收变量。
int monkeyEat(int count){ //count就是在几天吃完的时候还剩下一个呢?
If(count==1) return taoziNum;
/*总桃子数量为4个 就是说,我在第一天吃完的时候还剩下一个,那么没开始吃之前总桃子数量为多少呢? 显然是4个*/
else return monkyEat(count-1);
}
}
测试结果:count变量接收1-20都没什么问题。数值都对
这是正向思考得到的答案。