这是参考答案,程序目的是反向打印每天所剩桃子数 int num; //定义所剩桃子数 if(n==10) { return 1;//递归结束条件 } else { num = (getPeachNumber(n+1)+1)*2; //这里是不应该用递归呢? printf("第%d天所剩桃子%d个\n", n, num); //天数,所剩桃子个数问题是:程序只是给出了递归的算法并没有给出输出方向和天数起止范围,程序怎么能自主判断呢?
1 回答
已采纳
tanhouyusheng
TA贡献94条经验 获得超59个赞
这个有个问题就是不到10的时候没有返回,应该在print后边返回num,这个直接调用就好了,每次到num=get的时候会进入到下一次的递归,直到第10天剩一个桃子返回的时候的到了第9天的num,打印返回,一次返回到第一次调用。
那个num=get的计算就相当于数列的递推公式。
- 1 回答
- 0 关注
- 1457 浏览
添加回答
举报
0/150
提交
取消