为什么要用(gepeachNumber(n+1)+1)*2

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

风喃4330619

2018-05-10 11:56

这里为什么有两个n+1,

写回答 关注

2回答

  • 慕粉4008573
    2018-05-28 21:47:24

    第十天剩一个,  第九天就在昨天的基础1个上  +1  乘以二(因为每天都吃一半多一个)  第八天就在第九天的基础上 +1 乘以2  类推...

  • 困难00
    2018-05-10 20:13:55

    倒推一下。当实际的n+1=10的时候,我们给getPeachNumber(n)传递的这个“n”就是10了,此时根据自定义函数的内容getPeachNumber返回1,即在getpeachnumber(9)里面的num=(1+1)*2;,那么getpeachnumber(8)里面的num=((1+1)*2+1)*2 ; 然后一层层向外算直到最外面那层。

    n代表的是天数,函数里的n+1是为了让天数往前走,外面的+1是题目里的“一半多一个”中的“多一个”。

    可以试试用纸把函数里的num计算都列出来,马上就会看懂了。

    如果还不明白欢迎继续提问


    _月入上万 回复困难00

    好的!

    2018-06-17 23:13:49

    共 3 条回复 >

C语言入门

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

926024 学习 · 20793 问题

查看课程

相似问题