老师,我理解的对么

老师,我理解的对么

1
<!DOCTYPE html><br><html lang="en"><br><br><head><br>    <meta charset="UTF-8"><br>    <title>递归</title><br></head><br><br><body><br>    <script><br><br>    var  year= 20; //年A<br>    var t = 0.05; //涨幅<br><br>    // 计算每年工资<br>    function fn(y) {<br>        if (y == 1) return 10000;<br><br>        // 补充代码<br>        // 代码逻辑:<br>        // 首先是fn(20),不符合if分支y==1,则判断返回值,返回值为函数调用,则为fn(19)+fn(18)*0.05<br>        // fn(17)+fn(16)*0.05 ......以此类推,到最后fn(1)时,符合if语句判断,则进行返回<br>        // 10000+10000*0.05+(10000*0.05)*0.05+((10000*0.05)*0.05)*0.05 .....一直推到20年,返回的结果就为20年后的月薪<br>        return fn(y-1)+fn(y-1)*0.05<br><br>    }<br><br><br>    document.write("20年后,小慕的月薪为" + fn(year).toFixed(2));<br><br>    </script><br></body><br><br></html><br>


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

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

1回答
好帮手慕星星 2021-06-20 16:20:50

同学你好,代码计算是对的,但是中间注释理解的有点不太对,老师简单从3开始计算

http://img1.sycdn.imooc.com//climg/60cefa2a09ca530306160132.jpg

这几行注释是相等的,所以当year等于20的时候,是fn(19)+fn(19)*0.05,然后再计算fn(19) 。

自己再理解下,祝学习愉快!

问题已解决,确定采纳
还有疑问,暂不采纳

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

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

0 星
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

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