|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Junior Member
Iscritto dal: Oct 2009
Messaggi: 5
|
[c]creare un loop della sequenza di fibonacci
ciao a tutti,
oggi mentre studiavo per un esame mi sono messo a giocherellare con c e mi è presa la malsana idea di creare un loop che mi continui a calcolare i numeri della sequenza di fibonacci. Ho creato il programma ma ho qlc problema! Vorrei far rallentare la velocità del loop in modo che i numeri siano leggibili mentre vengono stampati su schermo. Secondo problema dal 45 numero della sequenza in poi vi sono errori di calcolo,suppongo avvenga in quanto vada in overflow. Di seguito il programma: # include<stdio.h> int main() { long int f,f1=0,f2=1; int i; for(i=1;i<=50;i++) { f=f1+f2; f1=f2; f2=f; printf("\n %d,",f); } system("PAUSE"); } (il ciclo for non è un loop per controllare da quale numero in poi vi sono "errori di calcolo") |
![]() |
![]() |
![]() |
#2 |
Member
Iscritto dal: Dec 2006
Messaggi: 198
|
Per rallentare il ciclo puoi usare la funzione sleep (all'interno ci va il numero di millisecondi). Mi pare di capire che tu sia su windows, quindi forse lì diventa Sleep.
Per quanto riguarda l'overflow, non puoi farci nulla, se non usare numeri interi a lunghezza arbitraria (l'approccio più semplice è generalmente un array in cui ogni elemento rappresenta una cifra). Mi pare però che nella maggior parte dei compilatori (compreso il GNU, che probabilmente starai usando) long int = 32 bit, quindi puoi usare variabili più capienti (64bit) dichiarandole "unsigned long long int", ma non farai altro che "ritardare" l'overflow. |
![]() |
![]() |
![]() |
#3 |
Junior Member
Iscritto dal: Oct 2009
Messaggi: 5
|
grazie mille ci sono riuscito!ma l'overflow arriva cmq inesorabile!pazienza!
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 22:12.