小猴子第一天摘下若干桃子,当即吃掉一半,又多吃一个.第二天早上又将剩下的桃子吃一半,又多吃一个.以后每天早上吃前一天剩下的一半另一个.到第10天早上猴子想再吃时发现只剩下一个桃子了问第一天猴子共摘多少个桃子?
- 找出递推式
前一天总数为n,当天总数为sum,则 n-(n/2+1) = sum 即 n=2*(sum+1),实现如下:
public class Peach {
static int peachNum = 0;
public static void Peach(int n, int days){
if(days == 1)
{
peachNum = n;
return;
}
n = 2 * (n + 1);
Peach(n, days-1);
}
public static void main(String[] args){
Peach(1, 10);
System.out.println(peachNum);
}
}