Код Python для генерации рядов Фибоначчи: методы, использующие цикл, рекурсию и динамическое программирование

Вот код Python для генерации ряда Фибоначчи:

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

def generate_fibonacci_series(n):
    fibonacci_series = [0, 1]  # Initial values of Fibonacci series
    while len(fibonacci_series) < n:
        next_num = fibonacci_series[-1] + fibonacci_series[-2]
        fibonacci_series.append(next_num)
    return fibonacci_series
# Generate Fibonacci series of 10 numbers
fibonacci_series = generate_fibonacci_series(10)
print(fibonacci_series)

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

def generate_fibonacci_series(n):
    if n <= 0:
        return []
    elif n == 1:
        return [0]
    elif n == 2:
        return [0, 1]
    else:
        fibonacci_series = generate_fibonacci_series(n - 1)
        next_num = fibonacci_series[-1] + fibonacci_series[-2]
        fibonacci_series.append(next_num)
        return fibonacci_series
# Generate Fibonacci series of 10 numbers
fibonacci_series = generate_fibonacci_series(10)
print(fibonacci_series)

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

def generate_fibonacci_series(n, memo={}):
    if n <= 0:
        return []
    elif n == 1:
        return [0]
    elif n == 2:
        return [0, 1]
    elif n in memo:
        return memo[n]
    else:
        fibonacci_series = generate_fibonacci_series(n - 1, memo)
        next_num = fibonacci_series[-1] + fibonacci_series[-2]
        fibonacci_series.append(next_num)
        memo[n] = fibonacci_series
        return fibonacci_series
# Generate Fibonacci series of 10 numbers
fibonacci_series = generate_fibonacci_series(10)
print(fibonacci_series)