问答详情
源自:5-8 递归函数(二)

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

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

提问者:风喃4330619 2018-05-10 11:56

个回答

  • 慕粉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计算都列出来,马上就会看懂了。

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