/*
Sequenza di Fibonacci
*/
#include <iostream.h>
#define MAX 20
int array[MAX], n;
void fibonacci(int x=2); //funzione che calcola la sequenza di Fibonacci
int main(){
cout<<"Quanrti numeri di Fibonacci vuoi che vengano stampati (min: 2 - max: "<<MAX<<")? ";
cin>>n;
while(n<2 || n>20){
cout<<"Scelta non valida!\n Ripeti la tua scelta: ";
cin>>n;
}
array[0]=0; //inizializzazione del primo elemento della sequenza
array[1]=1; //inizializzazione del secondo elemento della sequenza
fibonacci(2); //richiamo della funzione fibonacci passando l'indice del primo
//elemento da calcolare
cout<<endl;
//stampa sequenza di Fibonacci
for(int x=0; x<n; x++)
cout<<array[x]<<endl;
return 0;
}
void fibonacci(int x){
array[x]=array[x-1]+array[x-2]; //calcola l'elemento di posizione x sommando
//i due precedenti tra loro
if(x!=n-1) fibonacci(x+1); //se non sono stati calcolati tutti i numeri
//richiesti richiama la funzione fibonacci
}
fonte: http://www.devlabs.altervista.org/C++/esercizi/fibonacci/fibonacc.cpp
Commenti
Posta un commento