Как определить число Фибоначчи в Python: простой способ и примеры

Функция для определения чисел Фибоначчи в Python может быть написана с помощью рекурсии или цикла.

Вариант 1: Рекурсия


def fibonacci_recursion(n):
    if n <= 0:
        return 0
    elif n == 1:
        return 1
    else:
        return fibonacci_recursion(n-1) + fibonacci_recursion(n-2)
    

Вариант 2: Цикл


def fibonacci_loop(n):
    if n <= 0:
        return 0
    elif n == 1:
        return 1
    else:
        a, b = 0, 1
        for _ in range(2, n+1):
            a, b = b, a + b
        return b
    

Пример использования:


n = 10
result_recursion = fibonacci_recursion(n)
print(f"Число Фибоначчи по рекурсии для n={n} равно: {result_recursion}")

result_loop = fibonacci_loop(n)
print(f"Число Фибоначчи по циклу для n={n} равно: {result_loop}")
    

Детальный ответ

Как определить число Фибоначчи в Python

Числа Фибоначчи - это последовательность чисел, в которой каждое число является суммой двух предыдущих чисел. Эта последовательность начинается с чисел 0 и 1.

Для определения числа Фибоначчи в Python мы можем использовать несколько подходов. Рассмотрим два из них.

1. Использование рекурсии

Рекурсия - это прием программирования, при котором функция вызывает сама себя. Мы можем определить число Фибоначчи с помощью рекурсивной функции.


def fibonacci_recursive(n):
    if n <= 1:
        return n
    else:
        return fibonacci_recursive(n-1) + fibonacci_recursive(n-2)

В этой функции мы проверяем базовый случай, когда n меньше или равно 1. Если это так, мы возвращаем n. Иначе мы рекурсивно вызываем функцию для n-1 и n-2 и возвращаем их сумму.

Пример использования:


n = 6
result = fibonacci_recursive(n)
print(f"Число Фибоначчи для {n}-го элемента: {result}")

В этом примере мы определяем значение переменной n как 6 и вызываем функцию fibonacci_recursive для этого значения. Результат будет распечатан на экране.

2. Использование цикла

Кроме рекурсии, мы также можем определить число Фибоначчи, используя цикл.


def fibonacci_iterative(n):
    if n <= 1:
        return n
    
    previous = 0
    current = 1
    
    for _ in range(2, n+1):
        temp = current
        current = previous + current
        previous = temp
    
    return current

В этой функции мы проверяем базовый случай, когда n меньше или равно 1. Если это так, мы возвращаем n. Затем мы инициализируем переменные previous и current для последовательности чисел Фибоначчи. Затем мы используем цикл for, чтобы вычислить значения последующих чисел Фибоначчи, пока не достигнем n. Мы обновляем значения previous и current на каждой итерации.

Пример использования:


n = 6
result = fibonacci_iterative(n)
print(f"Число Фибоначчи для {n}-го элемента: {result}")

В этом примере мы определяем значение переменной n как 6 и вызываем функцию fibonacci_iterative для этого значения. Результат будет распечатан на экране.

3. Сравнение двух подходов

Когда мы сравниваем рекурсивный и итеративный подходы для определения числа Фибоначчи, мы видим, что рекурсивный подход требует более высоких вычислительных ресурсов и может быть замедлен для больших значений n. Итеративный подход, с другой стороны, является более эффективным и быстрым.

Теперь, когда вы знакомы с двумя подходами, вы можете выбрать наиболее подходящий для ваших нужд.

Видео по теме

Числа Фибоначчи. Решение задачи на Python

Числа Фибоначчи python по простому

Решение простых задач на python | Ряд Фибоначчи

Похожие статьи:

Как выделить текст жирным в Python? 🖌️💻 Простые способы и примеры кода

🔧 Как вручную установить библиотеку на Python: подробная инструкция

Как сделать, чтобы телеграм бот работал постоянно с помощью Python? 💻

Как определить число Фибоначчи в Python: простой способ и примеры

🎨 Как рисовать графики функций в Питоне: подробное руководство с примерами 📈

Как определить список в Python: руководство для начинающих с пошаговой инструкцией

Как написать погоду на python: руководство с пошаговыми инструкциями и примерами кода