我有一个函数有两个递归调用,我试图将其转换为迭代函数.我已经弄明白我可以通过一个电话很容易地做到这一点,但我无法弄清楚如何合并另一个电话.
功能:
def specialMultiplication(n):
if n < 2:
return 1
return n * specialMultiplication(n-1) * specialMultiplication(n-2)
Run Code Online (Sandbox Code Playgroud)
如果我只有其中一个,那将非常容易:
def specialMult(n, mult = 1):
while n > 1:
(n, mult) = (n-1, n * mult) # Or n-2 for the second one
return mult
Run Code Online (Sandbox Code Playgroud)
我只是无法弄清楚如何添加第二个调用以获得正确的答案.谢谢!