C语言实现(猴子吃桃)

使用VS2019

ISO C++14 标准 (/std:c++14)

猴子吃桃问题

猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个
;

第二天早上又将剩下的桃子吃掉一半,又多吃了一个。

以后每天早上都吃了前一天剩下
的一半零一个。

到第10天早上想再吃时,见只剩下一个桃子了。

求第一天共摘了多少。

//猴子吃桃问题:
//猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个
//第二天早上又将剩下的桃子吃掉一半,又多吃了一个。
//以后每天早上都吃了前一天剩下的一半零一个。
//到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。
//第10天为1个,第9天为(1+1)*2
//分析出规律:f(n)=(f(n-1)+1)*2
#include
int main() {
	//声明函数
	int fun(int);
	printf("求第一天共摘了10天的桃子量,即%d个桃子!", fun(10));
}

//定义递归函数
int fun(int day) {
	if (day == 1) return 1;
	return (fun(day - 1) + 1) * 2;
}

你可能感兴趣的:(C)