La sequenza di Fibonacci con il metodo ricorsivo nel linguaggio Cpp



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

Post popolari in questo blog

Simulazioni di reti (con Cisco Packet Tracer)

Esercizi sulla rappresentazione della virgola mobile IEEE 754 (Floating Point)