猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个 第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。
思路:已知第十天的桃子的为1,则使用计数器记录第十天的桃子为1个,
循环的方式:如果不是第一天,则当前前一天的桃子数为(count+1)*2;
递归的方式:找到递归的出口,如果day为10,则return1
public class Test1{
public static void main(String[] args) {
System.out.println("第一天摘桃子的个数:"+getPeach(10));
}
public static int getPeach(int day){
int count = 1;
while(day != 1){
count = (count+1)*2;
day--;
}
return count;
}
}
public class Test1{
public static void main(String[] args) {
System.out.println("第一天摘桃子的个数:"+getPeach(1));
}
public static int getPeach(int day){
if(day == 10){
return 1;
}else{
return (getPeach(day+1)+1)*2;
}
}
}