【レベル2】フィボナッチ数列を羅列させる

Bookmark this on Google Bookmarks
Pocket

練習問題

フィボナッチ数列をリスト化するプログラムを書きなさい。

問題を解くのに必要な知識

  • while
  • append()
  • 解説

    フィボナッチ数列自体を表現することは難しくありません。
    まず、def関数で定義を行い結果を出すリストを作成します。
    def関数は特別使う必要はありませんが、nを様々な数字で検証したいときに便利です。
    “`
    def fib(n):
    result = []
    “`
    次に、初項と第二項を指定してあげます。でないと、An+1=An+An-1が成り立ちません。
    a=0
    b=1
    あとは、while文で条件を整えます。ここが一番頭を使うところです。
    “`
    while b < n:  #nで指定した数字まで以下を繰り返す
    result.append(b) #bをリストに加える
    a, b = b, a+b #a=b,b=a+bと同義
    return result #リストを返します
    “`
    これで、フィボナッチ数列は完成です。

    解答

    “`
    def fib(n):
    result = []
    a, b = 0, 1
    while b < n:
    result.append(b)
    a, b = b, a+b
    return result
    “`

    fib(100)
    とすれば、
    [1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89]
    が返ってきます。