老师,我理解的对么

老师,我理解的对么

<!DOCTYPE html>
<html lang="en">

<head>
<meta charset="UTF-8">
<title>递归</title>
</head>

<body>
<script>

var year= 20; //年A
var t = 0.05; //涨幅

// 计算每年工资
function fn(y) {
if (y == 1) return 10000;

// 补充代码
// 代码逻辑:
// 首先是fn(20),不符合if分支y==1,则判断返回值,返回值为函数调用,则为fn(19)+fn(18)*0.05
// fn(17)+fn(16)*0.05 ......以此类推,到最后fn(1)时,符合if语句判断,则进行返回
// 10000+10000*0.05+(10000*0.05)*0.05+((10000*0.05)*0.05)*0.05 .....一直推到20年,返回的结果就为20年后的月薪
return fn(y-1)+fn(y-1)*0.05

}


document.write("20年后,小慕的月薪为" + fn(year).toFixed(2));

</script>
</body>

</html>


正在回答 回答被采纳积分+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下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

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