Последовательность Фибоначчи в Python: методы генерации последовательности Фибоначчи до заданного числа

Я предоставлю вам несколько методов для печати последовательности Фибоначчи до заданного числа в Python. Вот три распространенных подхода:

Метод 1: использование цикла

def fibonacci_loop(n):
    sequence = [0, 1]
    while sequence[-1] < n:
        sequence.append(sequence[-1] + sequence[-2])
    return sequence[:-1]
number = int(input("Enter a number: "))
fib_sequence = fibonacci_loop(number)
print(fib_sequence)

Метод 2: использование рекурсии

def fibonacci_recursive(n):
    if n <= 1:
        return [0]
    elif n == 2:
        return [0, 1]
    else:
        sequence = fibonacci_recursive(n - 1)
        sequence.append(sequence[-1] + sequence[-2])
        return sequence
number = int(input("Enter a number: "))
fib_sequence = fibonacci_recursive(number)
print(fib_sequence)

Метод 3: использование динамического программирования (мемоизация)

def fibonacci_dynamic(n, memo={}):
    if n <= 1:
        return [0]
    elif n == 2:
        return [0, 1]
    elif n in memo:
        return memo[n]
    else:
        sequence = fibonacci_dynamic(n - 1, memo)
        sequence.append(sequence[-1] + sequence[-2])
        memo[n] = sequence
        return sequence
number = int(input("Enter a number: "))
fib_sequence = fibonacci_dynamic(number)
print(fib_sequence)