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

为什么是(n-1)+n

不理解为什么是这个公式,带入n=4的话,得出的结果不是10.而是7啊,,,不理解这个点

提问者:Crayonsky 2017-03-18 21:05

个回答

  • 浅_忆
    2017-03-26 14:40:13

     n=getWordNumber(n-1)  +n;

    加下划线的是一部分,引用的自身,n是当天学的,这样算下来就是

    n=n+(n-1)+.....+1

    就是前n天学的单词数

  • 慕粉1416587369
    2017-03-18 21:45:02

    n-1代表之前一天所学的加上n就是今天所学的了

  • 慕粉1738593794
    2017-03-18 21:43:04

    当n=4时
    返回值为:getWordNumber(4-1)+4;
    也就是:getWordNumber(3-1)+3+4;
    最终结果为:getWordNumber(2-1)+2+3+4;由 
    if(n == 1)
        {
            return 1;    //第一天只会1个单词
        }
        getWordNumber(2-1)=1
    每一个"getWordNumber(n-1)+n"都符合getWordNumber函数
    对每一个n都进行一次运算。