我在这里也理解了很久,一开始我这样写的
return y + 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) 就能循环起来
函数可以不要累加器自动累加,自己调用自己就可以累加
这节课确实很难,我也卡了很久。感觉重点是返回值实现自己调用自己,在这个循环过程中,返回值会累加一直到出口,
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星