想通过递归方法算出答案,本来是有正向答案的,但是按理说从逆向也就是从第七天反推到第一天应该也能推出来,最起码手算是推出答案190了,但是程序一写出来就是死循环了,不知道该加什么限制条件才能避免死循环
猴子吃桃问题。猴子第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));
}
}
Exception in thread "main" java.lang.StackOverflowError
我的解答思路和尝试过的方法
我想要达到的结果