题目描述
要求输出斐波那契数列第n(1≤n≤64)项。
斐波那契的第i项总是等于它的前面两项之和,约定第一项为0,第二项为1,如下所示:
0, 1,1,2,3,5,8,13,21, 34……
提示
输入输出格式
输入格式
一个正整数n,表示第n项
输出格式
一个正整数,第n项的值
输入输出样例
输入
5
输出
3
a = [0 for i in range(64)]
def fib(n):
if a[n] != 0:
return a[n]
if n == 1:
a[n] = 0
return 0
elif n == 2 or n == 3:
a[n] = 1
return 1
else:
a[n] = fib(n - 1) + fib(n - 2)
return a[n]
print(fib(int(input())))