我不确定这是否是提出这类问题的正确场所,所以请不要讨厌。 我最近开始在edx.org上学习F#。我们有一个关于递归的课程。该课程的作者给出了一个有趣的例子:
avg
然后他将a设置为4,结果输出为48.我一直在考虑这个问题已有一段时间了,我不明白。因为4不等于0,所以我们得到T(4 - 1)* 4,即12.因为a每回合一次减少,哪个位置得到结果12?是T(3 - 1)* 12还是其他什么?我们如何得到结果48?
答案 0 :(得分:5)
T(4)= T(3)* 4 =(T(2)*3
)* 4 =((T(1)*2
)* 3)* 4 =(({T(0)*1
)* 2) * 3)* 4)= 2 * 1 * 2 * 3 * 4 = 48