问题摘自<<C语言范例开发大全>>
猴子第一天摘了若干桃子,当即吃了一半多一个,第二天又吃了剩下的一半多一个,以后每天都是吃了前一天剩下的一半多一个,到第10天还剩下一个桃子,问第一天摘了多少个桃子。
关系:
第n天桃子总数 - 第n天吃掉的桃子(第n天桃子总数/2 +1) = 第n+1天桃子总数。
算法:
package com.jue.rescursion;
public class TestRecursion {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println(getTotalInNDay(1));
}
public static int getTotalInNDay(int n) {
if (n == 10) {
return 1;
}
return (getTotalInNDay(n + 1) + 1) * 2;
}
}