剑指 offer_第七题_斐波那契数列

平台

牛客网

语言

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

猜你喜欢

转载自blog.csdn.net/Heitao5200/article/details/82947816