Crayonsky
2017-03-18 21:05
不理解为什么是这个公式,带入n=4的话,得出的结果不是10.而是7啊,,,不理解这个点
n=getWordNumber(n-1) +n;
加下划线的是一部分,引用的自身,n是当天学的,这样算下来就是
n=n+(n-1)+.....+1
就是前n天学的单词数
n-1代表之前一天所学的加上n就是今天所学的了
当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都进行一次运算。
C语言入门
926025 学习 · 20793 问题
相似问题