5-7怎么理解

来源:5-7 递归函数(一)

国产001

2017-08-17 21:12

return getWordNumber(n-1)+n什么意思,这题不是1+2+3+4...10吗?

写回答 关注

4回答

  • xhz567
    2017-08-18 00:12:52
    已采纳

    return getWordNumber(n-1)+n;是在返回的时候,再调用一次getWordNumber(),

    比如当你调用getWordNumber(10),是这样计算的:

    getWordNumber(10)=getWordNumber(9)+10

    =getWordNumber(8)+9+10

    ...

    =getWordNumber(1)+2+3+...+10

    又因为前面知道n为1时,getWordNumber(1) return的值是1,所以就计算出来了1+2+3+...+10


    因为这一节讲的是递归函数,所以要用递归的思想考虑问题。所谓递归就是自己调用自己,在这个题目里面,我们简单分析就能看出来是要计算从1一直加到10。可是用递归思想,就要从问题结局,也就是每一天都比前一天多记一个单词,求“第n天”记单词的数量,这样来分析问题。

    王之藐视 回复xhz567

    我大概懂了,太谢谢你了

    2017-08-20 02:43:25

    共 4 条回复 >

  • 慕移动9181930
    2022-03-26 08:50:23
  • 国产001
    2017-08-18 21:47:33

    谢谢!

  • 成蔚
    2017-08-18 18:55:54

    楼上说的很好     如果是第一天    则一共记的单词数为 1

    如果不是     则一共记的单词数是    到昨天一共记的单词加上当天记的单词[getWordNumber(n-1)+n]   而到昨天一共记的单词数 是到前天一共记得单词加上前天记的单词[getWordNumber(n-1)=getWorldNumber(n-2)+n-1]  

    以此类推

C语言入门

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

926207 学习 · 20797 问题

查看课程

相似问题