为了账号安全,请及时绑定邮箱和手机立即绑定

课程-递归函数(二)后面问题里的反向输出是怎么实现的?

课程-递归函数(二)后面问题里的反向输出是怎么实现的?

C
往事不追 2016-07-09 23:25:38
这是参考答案,程序目的是反向打印每天所剩桃子数 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的计算就相当于数列的递推公式。

查看完整回答
反对 回复 2016-07-10
  • 1 回答
  • 0 关注
  • 1457 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信