猴子也有你想不到的可爱——经典例题:猴子吃桃子

听说,你很喜欢猴子吃桃子的时候。你知道猴子吃桃子应该怎样形容吗?

当然,在编程的世界里,这将会是非常有趣的!

今天要与你分享的是就是经典例题——猴子吃桃子的问题,一起来看看吧~

经典例题:

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

简要分析:看到这里,你会想到用循环和递归都能够解决。当然,你需要逆向思维去思考这个问题,思考如果从正面顺向解决可以吗?下面是从逆向利用递归和循环来解决的。

#include <stdio.h>
#include <stdlib.h>

/* run this program using the console pauser or add your own getch, system("pause") or input loop */

int pear();

int n = 1;

int main(int argc, char *argv[]) {
	int x, i, m=1;
	
	for (i = 0; i < 9; i++){
		m = pear();	
		printf("%d ",m);	
	}
	printf("%d",m);
	
	return 0;
}

int pear(){
	n = 2 * (n + 1);
	
	return n;
}

在这篇博客的最后想提出一个问题,还有其他的思维方法解决吗?

猜你喜欢

转载自blog.csdn.net/weixin_44566432/article/details/88031681