题目:

猴子吃桃问题。

猴子第1天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第2天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,就只剩一个桃子了。

求第1天共摘多少个桃子。


分析:

通过阅读题目,我们可以得到2个关键信息:

  1. 今天的桃子数量 == 明天的桃子数量 * 2 - 1
  2. 只吃了9天桃子,第10天还没吃,手上就只有1个了

由这2条信息,我们就有思路了:

执行1次谭浩强 第5版 第5章 第12题_i++ 就可以得到上1天的数量(由第1条关键信息移项而来),然后循环9次。


代码实现:
#include <stdio.h>

int main()
{
	int sum_peach = 0;
	int i = 0;

	sum_peach = 1;

	for (i = 0; i < 10 - 1; i++)
	{
		sum_peach = (sum_peach + 1) * 2;
	}

	printf("第1天有%d个桃子\n", sum_peach);

	return 0;
}