パイソンFeibolaqi(再帰的に発電機モード、その他)内の列の数を計算します

導入された問題 - 列のFeibolaqi数

また、黄金列として知られているフィボナッチ数(フィボナッチ数列)、ウサギ飼育と導入例として、それはまた、「ウサギシリーズ」を指すものとして知られている数学者レオナルド・フィボナッチ(Leonardodaフィボナッチ)ためそのようなシリーズである:1,1,2,3,5,8,13,21,34、......数学的に定義するフィボナッチ再帰法で次のようにF(1)= 1、F(2)= 1、F(N)= F(N-1)+ F(N-2)(N> = 3、n∈N*)

1.発電方式

def Fibonacci(n):
    a, b = 1, 1
    num = 1
    while num <= n:
        result = a
        a, b = b, a + b
        num += 1
        yield result

# 调用函数返回值是一个生成器,使用for循环遍历取值
for i in Fibonacci(10):
    print(i)

2.再帰的に

def Fibonacci(i):
    if i <= 1:
        return 1
    else:
        return Fibonacci(i - 1) + Fibonacci(i - 2)

# 生成前10个数列
for i in range(10):
    print(Fibonacci(i))

3.その他の方法

def Fibonacci(n):
    a, b = 0, 1
    for i in range(10):
        a, b = b, a + b
        print(a)

Fibonacci(10)
def Fibonacci(num):
    alist = []
    for i in range(num):
        if i == 0 or i == 1:
            alist.append(1)
        else:
            alist.append(alist[i - 1] + alist[i - 2])
    print(alist)


Fibonacci(10)

おすすめ

転載: blog.csdn.net/qq_38923792/article/details/94657384