Sequenza di fibonacci iterativa non precisa

di il
4 risposte

Sequenza di fibonacci iterativa non precisa

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));*/

4 Risposte

  • Re: Sequenza di fibonacci iterativa non precisa

    In che senso non e' preciso?
    Poiche' so gia' quele e' il problema ( ), RAGIONA!

    Con che precisione vengono rappresentati i numeri in un computer?
  • Re: Sequenza di fibonacci iterativa non precisa

    Lo so come vengono rappresentati ma non sono riuscito a capire come sfruttare tutta la precisione di un numero reale o di un long long int. Se oltrepasso un certo valore va sempre fuori anche se prendo 8 byte per rappresentarlo solo con interi. Mi hanno suggerito di usare GMP ma non ho la minima idea di come usarlo e la documentazione è ostica...
  • Re: Sequenza di fibonacci iterativa non precisa

    RAGIONA!

    quante cifre significative supporta un double?
    quante cifre significative supporta un long long int?
    quanto vale fibonacci(83)? quante cifre significative contiene?
  • Re: Sequenza di fibonacci iterativa non precisa

    Hanno 16 cifre significative e io sto chiedendo di farne vedere 18, ok. Ma come posso "estendere" la precisione oltre i 64 bit? Esiste un metodo oltre alla libreria gmp.h?
Devi accedere o registrarti per scrivere nel forum
4 risposte