猿问
关于猴子吃桃的这个递归函数始终不明白
num =(getPeachNumber(n+1)+1)*2 这句到底是什么意思怎么算的 ,想了好久还没想通,能告诉我过程吗大神们。
万礼
浏览 2263
回答 4
4回答
hhh112123123
这个题我们是从第十天只剩一个桃子开始算的 所以每回要加一再乘以二才可以算出第一天 ,是这样反着算的。通过递归函数不断的用自身加一乘以二就可以算出倒数9.8.7这些天数剩下的桃子,最后一直到第一天。
3
0
1
万礼
没人过来看看吗?
2
0
0
万礼
#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;}
2
0
0
无独有偶yj
你好,请问递归结束条件那里。return 0与return 1有什么区别啊
0
0
1
随时随地看视频
慕课网APP
相关分类
C
typedef入门问题
1 回答
我要回答