猴子吃桃问题。猴子第1天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。
第2天早晨又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。
到第7天早上想再吃,就只剩一个桃子了,求第1天共多少个桃子
class T8 {
static int sum(int n){
if(n!=0){
if(n==7)return 1;
}
return sum(n-1)-sum(n-1)/2-1;
}
public static void main(String[] args)
{
System.out.println(sum(0));
}
}
n = 0的时候return 0结束函数即可
递归反了,这样从前推是出不了结果的
我觉得你应该反着推,第七天看做倒数第一天,第一天看做倒数第七天
if( n>=7){return sum;}
else if( n>0){sum=(sum+1)*2;}