这个递归函数是什么意思?
What does this recursive function mean?
我的任务是在 MIPS 中实现一个递归函数。这个函数是
函数 1(n) = n-5(如果 n <= 3)
否则 = 4*函数 1(n-1) - n*函数 1(n-3)
其中一个测试用例是如果n = 6,那么结果就是200。
在此函数中输入 6 如何得到 200?在我看来,答案应该是 2。我对递归有什么不了解的地方,还是我对函数的理解有误?我很困惑
您似乎在某处误解了函数。以下是我达到 200 时所遵循的步骤:
function1(6) = 4*function1(5) - 6*function1(3) (by rule 2)
function1(5) = 4*function1(4) - 5*function1(2) (by rule 2)
function1(4) = 4*function1(3) - 4*function1(1) (by rule 2)
function1(3) = 3-5 = -2 (by rule 1)
function1(2) = 2-5 = -3 (by rule 1)
function1(1) = 1-5 = -4 (by rule 1)
正在替换回来...
function1(4) = 4*-2 - 4*-4 = -8 - -16 = 8
function1(5) = 4*8 - 5*-3 = 32 - -15 = 47
function1(6) = 4*47 - 6*-2 = 188 - -12 = 200
我的任务是在 MIPS 中实现一个递归函数。这个函数是
函数 1(n) = n-5(如果 n <= 3)
否则 = 4*函数 1(n-1) - n*函数 1(n-3)
其中一个测试用例是如果n = 6,那么结果就是200。
在此函数中输入 6 如何得到 200?在我看来,答案应该是 2。我对递归有什么不了解的地方,还是我对函数的理解有误?我很困惑
您似乎在某处误解了函数。以下是我达到 200 时所遵循的步骤:
function1(6) = 4*function1(5) - 6*function1(3) (by rule 2)
function1(5) = 4*function1(4) - 5*function1(2) (by rule 2)
function1(4) = 4*function1(3) - 4*function1(1) (by rule 2)
function1(3) = 3-5 = -2 (by rule 1)
function1(2) = 2-5 = -3 (by rule 1)
function1(1) = 1-5 = -4 (by rule 1)
正在替换回来...
function1(4) = 4*-2 - 4*-4 = -8 - -16 = 8
function1(5) = 4*8 - 5*-3 = 32 - -15 = 47
function1(6) = 4*47 - 6*-2 = 188 - -12 = 200