猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第二天早上又将第一天剩下的桃子吃掉一半,有多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第 10 天早上想再吃时,发现只剩下一个桃子了。编写程序求猴子第一天摘了多少个桃子。
实现过程:
(1) 定义 day、x1、x2 为基本整型,并为 day 和 x2 赋初值 9 和 1。
(2) 使用 while 语句由后向前推出第一天摘的桃子数。
(3) 输出结果。
(4) 程序代码如下:
#include <stdio.h>
int main(void) {
int day, x1, x2; //定义 day、x1、x2 3 个变董为基本整型
day = 9;
x2 = 1;
while (day > 0) {
x1 = (x2 + 1) * 2; //第一天的桃子数是第二天桃子数加1后的2倍
x2 = x1;
day--; //因为从后向前推所以天数递减
}
printf("一共是%d个桃子", x1); //输出桃子的总数
return 0;
}
输出结果:
一共是1534个桃子
技术要点:
本实例的思路基本上是先找出变量间的关系,也就是要明确第一天桃数和第二天桃子数之间的关系,即第二天桃子数加 1 的 2 倍等于第一天的桃子数。