Назад к вопросам
Intern
89
questionbank

Что такое последовательность Фибоначчи?

Sobes Copilot

Получайте ответы в реальном времени

Ответ от нейросети

sobes.tech AI

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

Формальное определение: F(0) = 0 F(1) = 1 F(n) = F(n-1) + F(n-2) при n > 1.

Пример первых чисел последовательности: 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, ...

Пример реализации на PHP:

<?php

/**
 * Генерирует n-е число Фибоначчи рекурсивно.
 * Неэффективно для больших n из-за повторных вычислений.
 *
 * @param int $n Индекс числа в последовательности (начиная с 0).
 * @return int n-е число Фибоначчи.
 */
function fibonacciRecursive(int $n): int
{
    if ($n <= 1) {
        return $n; // Базовый случай: F(0)=0, F(1)=1
    }
    return fibonacciRecursive($n - 1) + fibonacciRecursive($n - 2); // Рекурсивный вызов
}

/**
 * Генерирует n-е число Фибоначчи итеративно.
 * Более эффективно для больших n.
 *
 * @param int $n Индекс числа в последовательности (начиная с 0).
 * @return int n-е число Фибоначчи.
 */
function fibonacciIterative(int $n): int
{
    if ($n <= 1) {
        return $n; // Базовый случай
    }

    $a = 0; // F(n-2)
    $b = 1; // F(n-1)

    for ($i = 2; $i <= $n; $i++) {
        $c = $a + $b; // F(n) = F(n-2) + F(n-1)
        $a = $b; // Обновляем F(n-2)
        $b = $c; // Обновляем F(n-1)
    }

    return $b; // Результат - последнее вычисленное число
}

// Примеры использования
// echo fibonacciRecursive(7); // Вывод: 13
// echo fibonacciIterative(7); // Вывод: 13

?>