Come scrivere un programma che genera la serie di Fibonacci utilizzando la funzione

Leonardo di Pisa ( aka Fibonacci ) è stato un matematico italiano 13 ° secolo . Era famoso durante la sua vita per l'introduzione del sistema di numerazione indù adesso usiamo in un mondo medievale che era ancora con numeri romani . Oggi è più famoso per una serie che inizia 1 , 1 , 2 , 3 , 5 , 8 , ... e così via . Dopo i primi due , ogni nuovo numero è la somma degli ultimi due numeri . Questa serie si apre in diversi posti in natura ed è utile anche per risolvere alcuni problemi difficili . Si tratta di un esercizio di programmazione comune nelle classi di informatica . Istruzioni
1

delineare la soluzione in pseodocode - una descrizione in lingua inglese della funzione . La funzione di Fibonacci avrà tre parti . Parte 1 prende cura dei primi due numeri nella sequenza . La sezione successiva imposta una coppia di variabili , A e B , che tengono traccia degli ultimi due numeri della serie Fibbonacci quindi è facile trovare il numero successivo della serie : a + b . L'ultima parte della funzione è un ciclo che tiene traccia di trovare il corretto numero di nuovi elementi della serie , la stampa di ogni elemento e l'aggiornamento a e b .
2

Prendersi cura di un problema complicato che sorge quando un nuovo numero della sequenza viene trovato e a e B sono aggiornati . Se A e B sono gli ultimi due numeri della serie , il numero successivo della serie è a + b . Il nuovo a è il vecchio e il nuovo b b è il vecchio a + b - ma il vecchio un è stato alterato . Guardate cosa succede quando a = 3 e b = 5 . Sostituzione di una con b fa a = 5 , che è corretto ma sostituendo b con a + b fa b = 5 + 5 = 10 che non è corretto .

3

Scrivi il codice in linguaggio C :

int Fibb - funzione ( int lim ) {if ( lim == 1) printf ( "1" ) ; if ( lim maggiore di o - uguale - a 2) printf ( " 1 1 " ) ; if ( lim maggiore di 2) { int a : -1 ; int b : = 1 ; int count : = 2 ; while ( count minore di lim ) { printf (a + b) ; count + + ; c : = a + b ; A: = b ; b : = c ; } } }

dove lim è il numero di elementi della serie che vengono stampati . Il problema con l'aggiornamento a e b è risolto salvando a + b in c , prima di sostituire una da b e sostituendo b con c .