Java...

maalla1
Fibonacci.
La sequenza di Fibonacci consiste in una serie
di numeri che inizia con due 1.
I numeri successivi sono rispettivamente la somma
dei due che li precedono: 1 1 2 3 5 8 13 21 34 55 ...

Scrivere un programma che stampi i primi 50 termini
della serie


HELP!!! :(

Risposte
Diravan
fallo ricorsivo...

Fibonacci (int Numero){

Se Numero = 0 o Numero = 1
Allora risultato(1)
Altrimenti
Risultato(Fibonacci (Numero-1))
Fine Se

}

Nidhogg
"Diravan":
fallo ricorsivo...

Fibonacci (int Numero){

Se Numero = 0 o Numero = 1
Allora risultato(1)
Altrimenti
Risultato(Fibonacci (Numero-1))
Fine Se

}


:shock: :shock: :shock:
La versione ricorsiva per il calcolo dei numeri di Fibonacci va bene solo come esempio per spiegare la ricorsione, ma non di certo per il calcolo dei numeri in sè. La complessità della versione ricorsiva è $O(phi^n)$ e occupazione di memoria pari a $O(n)$. Mentre nella versione iterativa la complessità è $O(n)$ e l'occupazione di memoria è $O(1)$. Poi esiste anche una versione logaritmica che utilizza il calcolo matriciale.

Saluti, Ermanno.

maalla1
HO FATTO COSI'... ANDRA' BENE???


//classe Fibonacci

public class Fibonacci {

public static void main(String[] args) {
long fib[] = new long[50];
fib[0] = 1;
fib[1] = 1;
int i = 2;
System.out.println(fib[0] + "\n" + fib[1]);
while (i < 50){
fib = fib[i-1] + fib[i-2];
System.out.println(fib);
i++;
}
}
}

Nidhogg
La versione iterativa va bene! ;)

Saluti, Ermanno.

maalla1
Grazie...

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.