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

请教大佬,,,

 num =( getPeachNumber(n+1)+1)*2; 怎么理解,为什么不是 num =( getPeachNumber(n+1))*2; 

正在回答

2 回答

下面说法有错误,

num =( getPeachNumber(n+1))*2; 那么只能看成num =getPeachNumber(k)*2;并不是一个递归式//是递归,不满足题意

 num =( getPeachNumber(n+1)+1)*2就是num =( getPeachNumber(k)+1)*2;  每次的k都在变化,都等于上一次的n值+1

应为num =( getPeachNumber(n+1))*2; 那么只能看成num =getPeachNumber(k)*2递归的结果不是下面的num =( getPeachNumber(n+1)+1)*2就是num =( getPeachNumber(k)+1)*2;     这显而易见吧


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

不论getPeachNumber()  这个你定义的函数()内是什么,它永远是下一次运算时你的(n)值,也就是说,你这里只要把n+1(定义量)当成n(运算量)来看,换个角度 你这里的函数等价于getPeachNumber(K),而K(运算量)值为n+1

ps:括号内的数,哪怕它是一个式子,实际在这里是赋值式,使你的下一个执行运算的n等于上一个的n+1。

这就是递归的意义没有理解,我在这里也想了一会儿,找了网课。自己多想想。如果是你后面的num =( getPeachNumber(n+1))*2; 那么只能看成num =getPeachNumber(k)*2;并不是一个递归式

 num =( getPeachNumber(n+1)+1)*2就是num =( getPeachNumber(k)+1)*2;  每次的k都在变化,都等于上一次的n值+1

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

举报

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

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

进入课程

请教大佬,,,

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