Java实现:猴子吃桃问题
1. 问题
猴子吃桃问题:有一只猴子第一天摘下若干个桃子,当即吃掉了一半,又多吃了一个;第二天又将剩下的桃子吃掉一半,又多吃一个;按照这样的吃法每天都吃前一天剩下的桃子的一半又一个。到了第十天,就只剩下一个桃子。问题:这只猴子第一天摘了多少个桃子。
2. 解决方案
先用数学的方式描述一下这个问题:
假设猴子有 x 个桃子,设当天结束时还剩 y 个桃子,则有:
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/8de389d473fc8c76c9960fc9e5e06906.png)
换算后可得:
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/e0cb6d66c1aadb5c6c2dc2f9401d8cb2.png)
已知:到了第 10 天,就只剩下 1 个桃子,即 第 10 天时,y = 1,则有:
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/4b101beaff4fa88583c370417322f86a.png)
至此,突破口已经找到,循环往前推 9 天,就能算出猴子第一天摘的桃子数了。
3. 实现代码