斐波那契数列指的是这样一个数列:
0、1、1、2、3、5、8、13、21、34、55、89、…
这个数列从第3项开始,每一项都等于前两项之和。
方法一:
def fab(n):
n1 = 1
n2 = 1
n3 = 1
if n < 1:
print('输入有误!')
return -1
while (n-2) > 0:
n3 = n2 + n1
n1 = n2
n2 = n3
n -= 1
return n3
result = fab(21)
if result != -1:
print(result)
方法二:
#不建议递归方法,数列n值较大时,运行较慢
def fab(n):
if n < 1:
print('输入有误!')
return -1
if n == 1 or n == 2:
return 1
else:
return fab(n-1) + fab(n-2)
result = fab(21)
if result != -1:
print(result)