【Python】フィボナッチ数列の生成【整数論】

  • 2021年12月28日
  • 2022年8月1日
  • Python
  • 86View
  • 0件

はじめに

Python でのフィボナッチ数列生成の実装例を紹介します。
フィボナッチ数列とは、0, 1 から開始し、数列の最後の2項の和で次の項を作るような列です。

0, 1, 1, 2, 3, 5, 8, ・・・ と続きます。

Wikipedia フィボナッチ数

サンプルコード

サンプルコードと実行結果です。
ここでは、10回のループで止めています。

fibonacci_sequence を、無限数列を生成するジェネレータとして実装しています。
各値を yield で返却することで、無限リストを実現しています。

#!/usr/bin/env python3

def fibonacci_sequence(n0, n1):
    prev = n0
    yield prev
    curr = n1
    yield curr
    while True:
        prev, curr = curr, prev + curr
        yield curr


if __name__ == '__main__':
    ns = fibonacci_sequence(0, 1)
    for _ in range(10):
        print(next(ns))
❯ ./fibonacci.py 
0
1
1
2
3
5
8
13
21
34