题目:

猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个。第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少个桃子?

思路:

逆向思维,从最后一天算起,最后一天剩一个,那么前一天就剩(1+1)*2个 

因此设某一天剩桃子m个,前一天桃子n个,往前类推即n=(m+1)*2

注意:10天最后一天只剩1个桃子,程序只需循环9次

代码示例:

int main()
{
	int num = 1;
	int i;
	int sum=0;
	for (i = 1; i <= 9; i++)
	{
		num = (num + 1) * 2;
	}
	printf("第一天摘了:%d个桃子", num);
	return 0;
}

 运行结果:

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐