……

题目:斐波那契数列。

程序分析:斐波那契数列(Fibonacci sequence),又称黄金分割数列,指的是这样一个数列:0、1、1、2、3、5、8、13、21、34、……。

在数学上,费波那契数列是以递归的方法来定义:

def fib1(n):
    a,b=1,1
    for i in  range(n-1):
        a,b=b,a+b
    return a
# 递归实现
def fib2(n):
    if n==1 or n==2:
        return 1
    return fib2(n-1)+fib2(n-2)
# 如果你需要输出指定个数的斐波那契数列,可以使用以下代码:
def fib3(n):
    if n==1:
        return [1]
    if n==2:
        return [1,1]
    fibs=[1,1]
    for i in range(2,n):
        fibs.append(fibs[-1]+fibs[-2])
    return fibs
print(fib1(10))
print(fib2(10))
print(fib3(10))

结果:

C:\Anaconda3\python.exe "C:\Program Files\JetBrains\PyCharm 2019.1.1\helpers\pydev\pydevconsole.py" --mode=client --port=64213
import sys; print('Python %s on %s' % (sys.version, sys.platform))
sys.path.extend(['C:\\app\\PycharmProjects', 'C:/app/PycharmProjects'])
Python 3.7.6 (default, Jan  8 2020, 20:23:39) [MSC v.1916 64 bit (AMD64)]
Type 'copyright', 'credits' or 'license' for more information
IPython 7.12.0 -- An enhanced Interactive Python. Type '?' for help.
PyDev console: using IPython 7.12.0
Python 3.7.6 (default, Jan  8 2020, 20:23:39) [MSC v.1916 64 bit (AMD64)] on win32
runfile('C:/app/PycharmProjects/tensorflow/test.py', wdir='C:/app/PycharmProjects/tensorflow')
55
55
[1, 1, 2, 3, 5, 8, 13, 21, 34, 55]

 

 posted on 2020-10-21 15:47  大码王  阅读(281)  评论(0编辑  收藏  举报
复制代码