num =(getPeachNumber(n+1)+1)*2 这句到底是什么意思怎么算的 ,想了好久还没想通,能告诉我过程吗大神们。
4 回答
已采纳
hhh112123123
TA贡献158条经验 获得超98个赞
这个题我们是从第十天只剩一个桃子开始算的 所以每回要加一再乘以二才可以算出第一天 ,是这样反着算的。通过递归函数不断的用自身加一乘以二就可以算出倒数9.8.7这些天数剩下的桃子,最后一直到第一天。
万礼
TA贡献2条经验 获得超4个赞
#include <stdio.h>
int getPeachNumber(n)
{
int num; //定义所剩桃子数
if(n==10)
{
return 1; //递归结束条件
}
else
{
num =(getPeachNumber(n+1)+1)*2;//这里是不应该用递归呢?
printf("第%d天所剩桃子%d个\n", n, num); //天数,所剩桃子个数
}
return num;
}
int main()
{
int num = getPeachNumber(1);
printf("猴子第一天摘了:%d个桃子。\n", num);
return 0;
}
- 4 回答
- 1 关注
- 2262 浏览
添加回答
举报
0/150
提交
取消