Buongiorno a tutti, sono uno studente dell'università che si sta preparando per un'esame e per esercizio personale si è messo in testa di fare un programmino che calcoli la sequenza di fibonacci in pochi secondi per poi riportare il valore all'n-esimo numero inserito trovando anche un'ottima approssimazione della sezione aurea mediante il rapporto col numero precedente. Ho però un problema non indifferente all'83-esimo termine che non è preciso (ho verificato con wolfram alpha) ma non so come fare a far tornare il risultato. Vi allego la porzione di codice, un grazie immenso a chi mi sa spiegare cosa sbaglio!
do
{
printf("Inserire l'n-esimo termine de visualizzare: ");
scanf("%d",&num);
}
while(num<0);
//calcoli e visualizzazione risultati
printf("%f\n",fibonacci(num));
prima dichiaro una funzione
double fibonacci(int num){
double i,prev=0,prevprev=1,res;
if(num==0||num==1||num==2)
{
return 1;
}
for(i=0;i<num;++i)
{
res= prev + prevprev;
prevprev = prev;
prev = res;
/*return fibonacci(num-1)+fibonacci(num-2);*/
}
return res;
}
/*printf("%d",fibonacci(num));*/