题目描述
大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0)。n<=39
python
# -*- coding:utf-8 -*-
class Solution:
def Fibonacci(self, n):
# write code here
a=b=1
i=3
if n<0 or n>39:
return False
elif n==0:
return 0
elif n==1 or n==2:
return 1
else:
while i<=n:
a,b=b,a+b
i=i+1
return b
补充:打印前n项
打印前n项,递归方法:
def func(n):
# 给递归一个出口 第一位和第二位都是1
if n == 1 or n == 2:
return 1
else:
# 从第三位开始 返回上一个数加上上一个数
return func(n-1) + func(n-2)
# 递归方式实现 生成前20项
lis =[]
for i in range(20):
if i ==0 or i ==1:#第1,2项 都为1
lis.append(1)
else:
lis.append(lis[i-2]+lis[i-1])#从第3项开始每项值为前两项值之和