为了账号安全,请及时绑定邮箱和手机立即绑定

脑子转不过来,不懂递归函数怎么运行?

没有循环语句,直接输进去10,他只是10+9了,之前的呢,1到8呢,结果对了,但是不懂啊,求大神解释

正在回答

2 回答

if条件判断就相当于是在循环了,word(n-1)+n函数,n初值为10,一共记到第10天,当if(n==1)时,return 1,返回1,第一天记得一个,所以就可以一直累加。

9+10

     8+(9+10)

         7+(8+9+10)

            6+(7+8+9+10)

                5+(6+7+8+9+10)

                      4+(5+6+7+8+9+10)

                          3+(4+5+6+7+8+9+10)

                               2+(3+4+5+6+7+8+9+10)

                                   1+(2+3+4+5+6+7+8+9+10)   // n==1时,return 1 


4 回复 有任何疑惑可以回复我~
#1

慕斯7407225 提问者

非常感谢!
2016-12-11 回复 有任何疑惑可以回复我~

我想明白了,我告诉你们

当getWordNumber(10)时,执行else     return getWordNumber(n-1)+n(也就是判断语句第二步),

具体执行过程如下:第一步getWordNumber(10-1)+10=getWordNumber(9)+10,第二步:getWordNumber(9-1)+9(前面的就是判断之后再次执行else     return getWordNumber(n-1)+n)+10=getWordNumber(8)+9+10,第三步就是以此类推,我是看了好多评论也没理解明白,自己捉摸出来的,能容易理解!


2 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

脑子转不过来,不懂递归函数怎么运行?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信