codeFlowType:
codeWrite
codeFlowLang:
C++
Числами Фибоначчи называется следующая последовательность чисел: 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