问答详情
源自:5-7 递归函数(一)

递归代码详解

getWordNumber(n - 1) + n - 1,这段代码没理解

提问者:大盗无风不起浪 2015-01-20 10:09

个回答

  • sca11
    2015-08-03 23:24:33

    这是返还给  getWordNumber(1)的值,就是return 1   将1返还到getWordNumber(1)中。

    例:

    abc(5)=abc(4)+n

    abc(4)=abc(3)+n

    abc(3)=abc(2)+n

    abc(2)=abc(1)+n

    abc(1)=1

    然后返换,先计算最后一个

    abc(1)等于1

    倒数第二行

    abc(2)=abc(1)+n  等于  abc(2)=1+ 2 =3

    倒数第三行

    abc(3)=abc(2)+n  等于  abc(3)= 3+3 =6      第一个3是abc(2)的值 , 第二个3是n的值,就是abc(n-1)中n的值,abc(3)=abc(2)+3  

    倒数第四行

    abc(4)=abc(3)

  • linkin55
    2015-04-08 17:46:10

    1+1+2+3+4+5+6+7+8+9

    return getWordNumber(n-1)+n-1

    表示getWordNumber(n)比getWordNumber(n-1)多了个+n-1

    getWordNumber(n-1) - getWordNumber(n-1) = n-1


  • 未竟的守护者
    2015-01-20 11:02:32

    getWordNumber(n-1)是递归方法的运用,递归调用函数getWordNumber(),并每次计算前一天的单词量,把过程写成数学过程就形成了:(((((1)+2)+3)+...+(n-2))+n-1。即从最后一天的前一天(n-1)开始记录,一直到第一天为止。