Мне нужно выяснить, как управлять потоком программы, чтобы программа не аварийно завершала работу, когда пользователь вводит огромные числа. Целью программы является вычисление ряда Фибоначчи по вводу пользователя.
#include <iostream>
using namespace std;
int main() {
int n;
cout << " Please enter number of fibonacci number series you wanna see ";
cin >> n;
int num1=0;
int num2=1;
cout << num1 << " " << num2 << " ";
if(num1+num2<=32756)
for (int i=0; i<=n-1; ++i)
{
int num2Temp=num2;
cout << num1+num2 << " ";
num2=num1+num2;
num1=num2Temp;
}
else
cout << " TOO BIG " << endl;
return 0;
}
Я вычисляю ряд Фибоначчи, однако он не следует за оператором if и останавливает программу, поскольку она превышает 32756. Я понимаю, почему это происходит, поскольку num1 + num2 не обновляется, так что программа понимает его 0 +1, нет версий обновления для каждого цикла. Но у меня нет конкретной идеи, чтобы исправить программу.