课程
/后端开发
/C
/C语言入门
不理解为什么是这个公式,带入n=4的话,得出的结果不是10.而是7啊,,,不理解这个点
2017-03-18
源自:C语言入门 5-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都进行一次运算。
Crayonsky 提问者
举报
C语言入门视频教程,带你进入编程世界的必修课-C语言
1 回答为什么将(n-1)+n改为(n-1)+n+1结果是65
3 回答( getPeachNumber(n+1)+1)*2里面n+1是什么意思?为什么是n+1?
1 回答为什么getwordnumber=(n-1)+n
5 回答n=((n+1)+1)*2,为啥不能用 n+1=n*0.5-1即n=(n-1)*0.5-1
1 回答为什么(n-1)+n不能用(2*n-1)代替