Ma la funzione di fibonacci è definita così:
f(0)=1
f(1)=1
f(n)=f(n-1)+f(n-2)
Rispondendo all'altra domanda, se ad esempio f(100) da un valore negativo altissimo, anche il minimo numero rappresentabile ha una limitazione inferiore.
Per cui f(100)=f(99)+f(98) , f(99) e f(98) sono valori negativi molto alti, il che significa che andando avanti con f(101), f(102), ecc... prima o poi si arriverà a non poter rappresentare un valore negativo così grande, e si rincomincerà a contare da un numero positivo.
Si chiama overflow quando a furia di sommare valori il numero diventa negativo, underflow il viceversa.
Io comunque questa funzione ti consiglio di farla ricorsiva, perchè sai che:
1)f(0)=1 , sarà un if(n==0) return 1;
2)f(1)=1 , idem
3)f(n)=f(n-2)+f(n-1) , allora se n sarà maggiore di 1 ritornerai f(n-1)+f(n-2)

Rispondi quotando