Числами Фибоначчи называется следующая

Числами Фибоначчи называется следующая последовательность чисел: 1, 1, 2, 3, 5, 8, 13 и так далее (первое число равно 1, второе число равно 1, а каждое следующее равно сумме двух предыдущих). Напишите программу, которая по данному номеру N выводит N-е число этой последовательности (если оно не превосходит 2 147 483 647, конечно же). Обеспечьте контроль ввода. Пример выполнения Введите номер последовательности: 1 Число в последовательности: 1 Введите номер последовательности: 6 Число в последовательности: 8 Рекомендации по выполнению Заметьте, что последовательность Фибоначчи всегда одинаковая. Пользователь вводит только порядковый номер числа из последовательности. Обратите внимание, что условие типа if(value > 2147483647) не имеет смысла. Что оценивается Результатом запроса является число из последовательности Фибоначчи. Число 1 определяется как первое и второе число последовательности.
Дополнительные параметры: codeFlowType: codeWrite codeFlowLang: C++
Создано: 23.07.2023 16:38

Числами Фибоначчи называется следующая последовательность чисел: 1, 1, 2, 3, 5, 8, 13 и так далее (первое число равно 1, второе число равно 1, а каждое следующее равно сумме двух предыдущих). Напишите программу, которая по данному номеру N выводит N-е число этой последовательности (если оно не превосходит 2 147 483 647, конечно же). Обеспечьте контроль ввода.

Пример выполнения

        Введите номер последовательности: 1 
        Число в последовательности: 1 
        Введите номер последовательности: 6 
        Число в последовательности: 8

Рекомендации по выполнению Заметьте, что последовательность Фибоначчи всегда одинаковая. Пользователь вводит только порядковый номер числа из последовательности. Обратите внимание, что условие типа if(value > 2147483647) не имеет смысла. Что оценивается Результатом запроса является число из последовательности Фибоначчи. Число 1 определяется как первое и второе число последовательности.

#include <iostream>
using namespace std;

int fibonacci(int n) {
    if (n <= 0) {
        return 0;
    }
    else if (n <= 2) {
        return 1;
    }
    
    int fib1 = 1;
    int fib2 = 1;
    int fib = 0;
    
    for (int i = 3; i <= n; i++) {
        fib = fib1 + fib2;
        fib1 = fib2;
        fib2 = fib;
    }
    
    return fib;
}

int main() {
    int n;
    
    cout << "Введите номер последовательности: ";
    cin >> n;
    
    if (n <= 0) {
        cout << "Неверный номер последовательности.";
        return 0;
    }
    
    int fib = fibonacci(n);
    cout << "Число в последовательности: " << fib;
    
    return 0;
}

Пример выполнения:

Введите номер последовательности: 1
Число в последовательности: 1

Введите номер последовательности: 6
Число в последовательности: 8