gpt4 book ai didi

python - 使用一个递归调用实现递归

转载 作者:太空宇宙 更新时间:2023-11-03 15:07:58 24 4
gpt4 key购买 nike

给定一个函数如下:f(n) = f(n-1) + f(n-3) + f(n-4)

f(0) = 1
f(1) = 2
f(2) = 3
f(3) = 4

我知道在一个函数内使用递归和三个递归调用来实现它。但我只想在函数内部进行一次递归调用。如何做到?

这里使用 3 个递归调用来实现是我的代码:

def recur(n):
if n == 0:
return 1
elif n == 1:
return 2
elif n == 2:
return 3
elif n == 3:
return 4
else:
return recur(n-1) + recur(n-3) + recur(n-4) #this breaks the rule because there are 3 calls to recur

最佳答案

您的尝试方向是正确的,但需要稍作改动:

def main():
while True:
n = input("Enter number : ")
recur(1,2,3,4,1,int(n))

def recur(firstNum,secondNum,thirdNum,fourthNum,counter,n):
if counter==n:
print (firstNum)
return
elif counter < n:
recur (secondNum,thirdNum,fourthNum,firstNum+secondNum+fourthNum,counter+1,n)

关于python - 使用一个递归调用实现递归,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30565674/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com