Pythonで前のフィボナッチ数を見つける方法


シンプルで簡単な方法は、フィボナッチ数列を順番に生成していき、目的の数の前の数を取得することです。以下に、このアプローチのコード例を示します。

def find_previous_fibonacci(n):
    if n <= 0:
        return None
    elif n <= 2:
        return 0
    else:
        fib_sequence = [0, 1]
        while fib_sequence[-1] < n:
            next_fib = fib_sequence[-1] + fib_sequence[-2]
            fib_sequence.append(next_fib)
        return fib_sequence[-2]

上記の関数find_previous_fibonacciは、与えられた数nより小さい最大のフィボナッチ数を返します。数列を生成するためにリストfib_sequenceを使用し、目的の数より小さい最大のフィボナッチ数を見つけるまで数列を拡張します。最後に、数列の最後から2番目の要素を返します。

以下は、関数の使用例です。

number = 100
previous_fibonacci = find_previous_fibonacci(number)
print(previous_fibonacci)  # 出力: 89

この場合、100より小さい最大のフィボナッチ数は89です。

この方法を使用することで、Pythonで前のフィボナッチ数を簡単に見つけることができます。このコード例を応用して、さまざまなシナリオに対応することも可能です。