一只小猴子一天摘了许多桃子,第一天吃了一半,然后忍不住多吃了一个。第二天又吃了一半,再加上一个;后面每天都是这样吃.到第10天的时候,小猴子发现只有一个桃子了。 问小猴子第一天共摘了多少个桃子? 用递归函数求得小猴子第一天共摘了多少个桃子
时间: 2024-05-08 17:22:22 浏览: 33
java代码-一个只猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,有多吃了一个。 第二天早上又将剩下的桃子吃掉一半,又多吃了一个,以后每天早上都吃掉前一天剩下的一半零一个,第十天早上,发现只剩下一个桃子,请问猴子第一天一共摘了多少个桃子?
根据题意,可以列出递推式:
第10天的桃子数 = 1
第9天的桃子数 = (第10天的桃子数 + 1) * 2 = 4
第8天的桃子数 = (第9天的桃子数 + 1) * 2 = 10
...
第1天的桃子数 = (第2天的桃子数 + 1) * 2
可以发现,这是一个递归的过程。因此,可以写出以下递归函数:
```python
def peach_count(day):
if day == 10:
return 1
return (peach_count(day+1) + 1) * 2
```
调用 `peach_count(1)` 即可得到答案,小猴子第一天共摘了 1534 个桃子。
阅读全文