平台
牛客网
语言
python2.7.3
作业内容
题目描述
大家都知道斐波那契数列,现在要求输入一个整数 n, 请你输出斐波那契数列的第 n 项(从 0 开始,第 0 项为 0)。 n<=39
题目理解
什么是斐波那契数列?
斐波那契数列(Fibonacci Sequence)又称黄金分割数列。
该数列指的是这样的一列数字:0、1、1、2、3、5、8、13、21、34、55、89、144、233、377、610、987、1597、2584、4181、6765、10946、17711、28657、46368…
特别指出:第 0 项是 0,第 1 项是第一个 1。此数列从第 2 项开始,每一项都等于前两项之和。
在数学上,斐波纳契数列被以递归的方法定义:F(0)=0,F(1)=1,F(n)=F(n-1)+F(n-2)(n≥2,n∈N)*
解题思路
第 0 项是 0,第 1 项是 1。此数列从第 2 项开始,每一项都等于前两项之和。
程序
class Solution:
def Fibonacci(self, n):
if n<=0:
return 0
if n==1:
return 1
else:
a,b=0,1
for i in range(n-1):
a,b=b,a+b
return b
补充知识点
a,b=b,a+b 相当于:
temp=b #先保存b的原值
b=a+b #赋b新值
a=temp #将b的原值赋予a