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

如何思考代码

怎么想到的return getWordNumber(n-1)+n;思考步骤是什么,想不到(n-1)+n这上面

正在回答

2 回答

你把这个看成循环体来看,其实一个意思。第一天记住一个,第二天记住两个,第10天记住十个。那么第一天记住的量+第二天记住的量+....+第十天记住的量就是55.

这里面调用函数用的是倒过来+的方法。

这里get(n-1)+n.   这里的意思是今天记住的单词数比昨天多一个。所以昨天记住的单词数量为 n-1,

但是要再加上今天记得单词数量 n,才代表单词记住的总量。get(n-1)代表就是在函数里在调用这个函数。

第十天代入get(n-1)+n就是get(10-1)+10=get(9)+10,

然后get(9)再代入get(n-1)+n就是  [get(9-1)+9]+10=[get(8)+9]+10,

get(8)再代入get(n-1)+n就是【[get(8-1)+8]+9+10】

直算到get(2-1)的时候

  if(n==1)

return 1;

如果n=1的时候返回 1,

所以整个代码执行完应该是1+2+3+4+5+6+7+8+9+10=55返回去给sum。

输出sum,运行结果55.

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

qq_慕雪2531647 提问者

谢谢!有心了
2020-03-18 回复 有任何疑惑可以回复我~

有10先把10加上,往后加9,加9就要想到8,相当于把小的那个数拆分成更小的数加自身,依次是这个思路

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

举报

0/150
提交
取消
C语言入门
  • 参与学习       926021    人
  • 解答问题       20793    个

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

进入课程

如何思考代码

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