猴子吃桃
2016-01-11
猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个,第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第 10 天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。
可以使用逆向推理来解决,假设第 10
天早上的桃子数为 x
,然后逆向计算前一天、前两天,一直到第一天的桃子数。假设 An
表示第 n
天剩下的桃子数,那么前一天的桃子数量与后一天的桃子数量关系为:An-1 = (An + 1) * 2
。
- 递归
1 | function calculatePeaches(day, remaining) { |
1 | function calculatePeaches(day) { |
- 循环
1 | function calculatePeaches(day) { |