BEYOND23
2016-08-24 17:51
( getPeachNumber ( n + 1 ) + 1 ) * 2 ???
是求前一天桃子的数量,我们可以把题目稍微改一下,逆向思考。假如猴子第一天摘一个桃,第二天上午时比前一天摘多了一个,此时数量为x,小猴子觉得不过瘾,下午又摘了一些,第二天一共摘了y个,而且y是x的两倍,第三天也是如此,求第四天猴子一摘了多少桃子?
#include <stdio.h>
int getPeachNumber(n)
{
int num;
if(n==1)
{
num = 1; //递归结束条件
}
else
{
num = (getPeachNumber(n-1)+1)*2;
}
return num;
}
int main()
{
int num = getPeachNumber(4);
printf("猴子第四天摘了:%d个桃子。\n", num);
return 0;
}
把n=4代入(getPeachNumber(n-1)+1)*2;中即可,思路都是差不多的。
C语言入门
926893 学习 · 21464 问题
相似问题