我想在fibonacci级数中找到下一个斐波纳契数。就像输入9一样,函数应该返回13,这是下一个斐波那契数。
我无法理解逻辑是如何实现的。只是在玩fibonacci程序。
def Fibonacci(n):
if n<0:
print("Incorrect input")
elif n==1:
return 0
elif n==2:
return 1
else:
return Fibonacci(n-1)+Fibonacci(n-2)
print(Fibonacci(9))
if i entered 9 then the function should return 13 which is next fibonacci number.发布于 2019-07-09 08:39:41
你误解了“n”这个数字。在你的程序中,你需要n‘’th数,它不等于9,所以如果你想计算n‘’th斐波那契数,你的程序就会工作。要想得到你想要的东西,你必须做这样的事情:
def Fibonnacci(givenNumber):
number1 = 1
number2 = 1
nextFibo = number1 + number2
while nextFibo <= givenNumber:
number1 = number2
number2 = nextFibo
nextFibo = number1 + number2
return nextFibo
print(Fibonnacci(9))https://stackoverflow.com/questions/56948358
复制相似问题