猴子吃桃详解

Posted 超浪*牛

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了猴子吃桃详解相关的知识,希望对你有一定的参考价值。

问题描述

*猴子吃桃
*猴子摘了一堆桃子,当即吃了一半,在多吃一个,第二天又吃了昨天剩下的一半加一个……
*第十天只剩下了一个 ,求共有多少个桃子

  • 思路解析如递推法详解

递归法

int fun(int i){//i为天数 
	if(i==10){
		return 1;
	}else{
		return (fun(i+1)+1)*2; 
	}
} 

递推法
//第二天是第一天的一半还少1,以此类推……
//到了第十天只剩下一个,从第十天反推九次可得到第一天的桃子数
//人言:假设桃子总数为sum,则第十天的sum=1,根据题意,设第九天有桃子n个,那么第十天的剩下桃子的为 (n/2-1) 也就是 n/2-1= sum;那么这个n等于多少?就是咋们求得数字,经过数学公式演变: n = (sum+1)* 2,以此类推,求得第十天的总数。

int main(){
	int i=0;
	int sum=1;//这是第十天的数量,只需要求剩余9天的
	for(i=10;i>1;i--){
		sum=(sum+1)*2;
	}
	printf("%d",sum);
	return 0;
}

答案
在这里插入图片描述

以上是关于猴子吃桃详解的主要内容,如果未能解决你的问题,请参考以下文章

猴子吃桃问题。

猴子吃桃--------两个猴子吃桃问题解决的详细描述

java经典算法题——猴子吃桃

C语言递归问题 猴子吃桃

猴子吃桃

C语言猴子吃桃问题递归法