不知道怎么写

不知道怎么写

不知道怎么写

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

3回答
好帮手慕言 2021-01-23 10:05:09

同学你好,递归就是在函数内部调用函数本身,达到某个条件就会停止。不管做多少题,它们的核心原理都是一样的,换汤不换药。如果其中一个你能弄懂,其他的也非常容易理解了。

如果实在理解不了,知道有递归这个知识点就好,可以等自身的基础扎实了,再回过头来看递归,可能会好理解一些。

祝学习愉快~

  • 提问者 神知 #1

    实际用不上的内容,跳过去不学也可以的吧?

    2021-09-02 12:16:28
  • 好帮手慕慕子 回复 提问者 神知 #2

    同学你好,可以的。

    不过,同学的时间如果比较充足的话,可以将其作为扩展知识了解下,时间不充足的话,直接跳过就行,祝学习愉快~

    2021-09-02 16:36:02
好帮手慕言 2021-01-22 16:07:52

同学你好,同学刚接触新知识,觉得比较难,理解不了,这是正常的现象,同学也不要太着急,慢慢来。

利用第一年的工资推出第n年的工资,过程如下:

http://img1.sycdn.imooc.com//climg/600a873509e1d73f07530209.jpg

关于本题fn函数的计算过程就和上图一样,同学再理解一下。

祝学习愉快~

  • 提问者 神知 #1

    这个意思我明白的,但是落实到代码上就不会了。

    2021-01-22 19:55:47
  • 不是月薪一万吗,为什么第一年工资只有一万

    2021-01-24 15:32:24
  • 同学你好,截图中少写了一个字,应该是第一年的月工资,如果还有问题,同学可以新建提问,详细描述下你的问题,老师针对同学的提问,帮助同学准确高效的定位与解决问题。

    祝学习愉快~

    2021-01-24 17:53:38
好帮手慕言 2021-01-22 10:06:02

同学你好,今年的工资等于去年的工资+涨幅。每次递归计算相加需要y减去1,也就是去年的,所以减少到y值为1的时候,返回初始月薪10000,停止递归,结束代码。假如y=2,即计算第2年的工资,第一年工资是10000,第二年工资是在第一年的基础上涨0.05,那么第二年工资就是10000+10000*0.05=10500

代码参考:

http://img1.sycdn.imooc.com//climg/600a321809737d9c07230391.jpg

祝学习愉快~


  • 提问者 神知 #1

    这个递归太难了,我看不懂。

    2021-01-22 11:59:42
  • 慕数据4158169 回复 提问者 神知 #2

    我在这里也理解了很久,一开始我这样写的

    return fn(y-1) * t

    结果直接报错

    还有这样写

    return 10000 fn(y-1) * t

    结果是10526.3157

    然后是这样写 

    return fn(y-1) + 10000 t

    结果是19500  这是每年加500的结果,至少快接近了

    最后我发现想要实现递归,就要把fn(y-1)当成一个值,当y=1时返回10000,就是return 10000 10000 t

    递归就是让这个函数循环起来吧,虽然我也不知道具体原理,但是从结果来看

    return fn(y-1)  *  t+fn(y-1)  只要把本金10000全写成fn(y-1) 就能循环起来

    函数可以不要累加器自动累加,自己调用自己就可以累加

    这节课确实很难,我也卡了很久。感觉重点是返回值实现自己调用自己,在这个循环过程中,返回值会累加一直到出口,


    2021-01-23 18:47:19
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师