C语言经典例21-猴子吃桃问题
生活随笔
收集整理的这篇文章主要介绍了
C语言经典例21-猴子吃桃问题
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
目录
- 1 题目
- 2 分析
- 3 实现
- 4 运行结果
1 题目
猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个,第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。
2 分析
本题若要假设第一天有多少个桃子,再利用上述规律,来验证第一天的假设是否正确,这种思路是很难完成的,那么最好的办法就是逆向求解,从最后一天,反推到第一天,注意循环时只用循环9次,因为虽然题干给出的是第10天剩余1个,但是这不是参与计算的,只是初始条件,所以只用循环9次
3 实现
#include <stdio.h>int main() {int x1 = 0;int x2 = 1; // 最后一天只剩一个桃子 for (int i = 9; i > 0; i--) {x1 = (x2 + 1) * 2; // 上一天的总数x2 = x1; // 下一天的总数}printf("桃子总数为%d", x1);return 0; }4 运行结果
桃子总数为1534总结
以上是生活随笔为你收集整理的C语言经典例21-猴子吃桃问题的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: C语言经典例20-小球反弹高度问题
- 下一篇: C语言经典例22-乒乓球比赛名单问题