Jak w temacie, mam za zadanie stworzyć program obliczający dowolny wyraz ciągu fibonacciego. Zakres wyrazów od 0-100000. Mój program oblicza jedynie trochę ponad 23000 wyrazów, a dalej kończy się skala typu danych i nie bardzo mam pomysł jak ten problem rozwiązać.
#include<iostream>
#include<cstdlib>
#include<iomanip>
using namespace std;
long double f(int n)
{
long double *fib = new long double[n];
fib[0] = 1;
fib[1] = 1;
for(int i=2;i<n; i++)
{
fib[i] = fib[i-1] + fib[i -2];
}
return fib[n-1];
delete [] fib;
};
int main()
{
int n;
cin>>n;
cout<<setprecision(10000);
cout<<f(n)<<endl;
return 0;
};