猴子吃桃:有一堆桃子,猴子第一天吃了其中一半,并多吃了一个,以后每天猴子都吃其中一半,然后再多吃一个。 当到第十天时,想吃还未吃,方发现只有一个桃子,问最初一共有多少桃子?
分析:第10天 1
第9天 (第10天的桃子+1)*2 (1+1)*2=4
第8天 (第9天的桃子+1)*2 (4+1)*2=10 .......
即为 前一天的数量=(后一天数量+1)*2
public class RecursionExercise{
public static void main(String[] args) {
Peach n = new Peach();
System.out.println(n.peach(1));
}
}
class Peach{
public int peach(int day)
{
if(day==10){//第十天的数量为1
return 1;
}else if(day>=1||day<10){//1-10天的数量采用递归
return (peach(day+1)+1)*2;
//前一天的数量=(后一天数量+1)*2
}else{
System.out.println("输入错误,应输入1-10之间的整数");
return -1;
}
}
}
运行结果