Top.Mail.Ru
Ответы

Функции. Рекурсия c++

Последовательностью Фибоначчи называется последовательность, n-й член которой равен сумме предыдущих двух, т.е. Fn = Fn - 1 + Fn - 2, при этом F1 = 1, F2 = 1. Таким образом: F1 = 1, F2 = 1, F3 = F2 + F1 = 1 + 1 = 2, F4 = F3 + F2 = 2 + 1 = 3, F5 = F4 + F3 = 3 + 2 = 5 и так далее. По заданному n вычислить n-ое число Фибоначчи.

Входные данные
На ввод подается единственное число n

Выходные данные
Вывести n-ое число Фибоначчи (Fn)

Пример
входные данные
6
выходные данные
8

По дате
По Рейтингу
Аватар пользователя
Просветленный

пару дней назад уже вам отвечали.Забыли?
https://otvet.mail.ru/question/235237989
хотя не заметил что вопрос совершенно другой . Там надо было вывести 5ый член последовательности, а сегодня - шестой

Аватар пользователя
1234567891011121314151617181920
 #include <iostream> 
 
int F(int n) 
{ 
  return n < 3 ? 1 : F(n-1) + F(n-2); 
} 
 
 
int main() 
{ 
  int n; 
  std::cin >> n; 
  if(n < 1) 
    return 1; 
 
  std::cout << F(n) << std::endl; 
 
  return 0; 
} 
 
Аватар пользователя
Просветленный

Для вычисления n-го числа Фибоначчи можно использовать рекурсию. Вот пример кода на C++, который использует рекурсию для вычисления n-го числа Фибоначчи:

123456
 int fibonacci(int n) { 
    if (n <= 1) { 
        return n; 
    } 
    return fibonacci(n-1) + fibonacci(n-2); 
} 

В этом коде функция fibonacci вызывает саму себя для вычисления двух предыдущих чисел Фибоначчи и возвращает их сумму. Базовый случай - это когда n меньше или равно 1, в этом случае функция возвращает n.
Чтобы вычислить n-е число Фибоначчи, нужно вызвать функцию fibonacci(n). Например, для n=6 результатом будет 8.

1
 int result = fibonacci(6); // result = 8 

Также можно использовать цикл для вычисления n-го числа Фибоначчи. Вот пример кода на C++, который использует цикл:

123456789101112
 int fibonacci(int n) { 
    if (n <= 1) { 
        return n; 
    } 
    int a = 0, b = 1; 
    for (int i = 2; i <= n; i++) { 
        int c = a + b; 
        a = b; 
        b = c; 
    } 
    return b; 
} 

Этот код начинает с a=0 и b=1, затем в цикле вычисляет следующее число Фибоначчи, сохраняет его в c, затем перемещает a и b на следующие два числа и продолжает цикл до тех пор, пока не достигнет n. В конце функция возвращает b, которое содержит n-е число Фибоначчи.
Чтобы вычислить n-е число Фибоначчи, нужно вызвать функцию fibonacci(n). Например, для n=6 результатом будет 8.

1
 int result = fibonacci(6); // result = 8