不懂,好难理解

来源:5-8 递归函数(二)

慕码人3067912

2016-09-12 09:56

num = (getPeachNumber(n+1)+1)*2?为什么是这样,想不明白!

写回答 关注

2回答

  • JustWannaHugU
    2016-09-12 14:14:30
    已采纳

    同学试着逆向思考一下,

    你看, 第十天的就是getPeachNumber(10),剩一个桃子 ,

    第九天的就是getPeachNumber(9)= (getPeachNumber(9+1)+1)*2,剩4个桃子【(1+1)*2=10】;

    因为是先吃一半、,然后再多吃一个,所以第九天的数量就是第十天的先加上先吃掉的那个1 然后再乘以二 

    num = (getPeachNumber(n+1)+1)*2递归函数调用自身 从10一直到第一天 

    试着自己画画,不懂了继续问,

    满意的话,点下采纳吧

    JustWa... 回复慕码人306...

    再开个问题呗~~

    2016-09-17 21:13:54

    共 3 条回复 >

  • 慕码人3067912
    2016-09-12 21:17:29

    谢谢同学,这个问题大致明白了;就是还有为什么这个递归函数是从10到第一天

    JustWa...

    刚才在玩游戏。有点晚,;就是还有为什么这个递归函数是从10到第一天这个问题你应该自己调试一边代码,递归的返回顺序和进入顺序是完全相反的,从1开始进但是到第十天才返回1,从此刻开始,逐层返回,所以表现为逆向输出啦!

    2016-09-17 22:33:58

    共 1 条回复 >

C语言入门

C语言入门视频教程,带你进入编程世界的必修课-C语言

926024 学习 · 20793 问题

查看课程

相似问题