C 语言编程 经典例题一百道 21 猴子吃桃问题:猴子第一天摘下若干桃子,当即吃了一半。还不过瘾,又多吃了一个。第二天早上又将剩下的桃子吃掉一半,又多吃了一个。

 猴子吃桃问题:猴子第一天摘下若干桃子,当即吃了一半。还不过瘾,又多吃了一个。第二天早上又将剩下的桃子吃掉一半,又多吃了一个。此后的每一次都吃前一天所剩桃子的一半,再多吃一个。第十天早上发现,只剩一个桃子。

方法一:

从前往后推导,第一天采了 x 个桃子,x/2 - 1 = 剩下的桃子。

所以 ( 剩下的桃子 + 1 ) * 2 = 等于 x ,此处的 x 为前一天的桃子。

#include 
int main()
{
	int i = 1, j, sum = 0 ;
	for (j = 1 ; j <= 9 ;j++)
	{
		sum = sum + (i+1)*2 ;
	}
	sum = sum + 1 ;
	
	printf("猴子一共采了%d个桃子\n",sum) ;

	return 0;
	
}
/*
第十天:1
第九天:4
第八天:10
第七天:22
*/

你可能感兴趣的:(C 语言编程 经典例题一百道 21 猴子吃桃问题:猴子第一天摘下若干桃子,当即吃了一半。还不过瘾,又多吃了一个。第二天早上又将剩下的桃子吃掉一半,又多吃了一个。)