In questo programma imparerai a visualizzare le serie di Fibonacci in Java usando i cicli for e while. Imparerai a visualizzare le serie fino a un termine o un numero specifico.
Per comprendere questo esempio, è necessario conoscere i seguenti argomenti di programmazione Java:
- Java per Loop
- Java while e do … while Loop
La serie di Fibonacci è una serie in cui il termine successivo è la somma dei due termini precedenti. I primi due termini della sequenza di Fibonacci sono 0 seguiti da 1.
La sequenza di Fibonacci: 0, 1, 1, 2, 3, 5, 8, 13, 21, …
Esempio 1: visualizza la serie di Fibonacci usando il ciclo for
public class Fibonacci ( public static void main(String() args) ( int n = 10, t1 = 0, t2 = 1; System.out.print("First " + n + " terms: "); for (int i = 1; i <= n; ++i) ( System.out.print(t1 + " + "); int sum = t1 + t2; t1 = t2; t2 = sum; ) ) )
Produzione
0 + 1 + 1 + 2 + 3 + 5 + 8 + 13 + 21 + 34 +
Nel programma precedente, il primo (t1) e il secondo (t2) termini vengono inizializzati rispettivamente sui primi due termini della serie di Fibonacci 0 e 1.
Quindi, il ciclo for itera fino a n (numero di termini) visualizzando la somma dei due termini precedenti memorizzati nella variabile t1.
Puoi anche generare serie di Fibonacci usando un ciclo while in Java.
Esempio 2: visualizza la serie di Fibonacci usando il ciclo while
public class Fibonacci ( public static void main(String() args) ( int i = 1, n = 10, t1 = 0, t2 = 1; System.out.print("First " + n + " terms: "); while (i <= n) ( System.out.print(t1 + " + "); int sum = t1 + t2; t1 = t2; t2 = sum; i++; ) ) )
L'output è lo stesso del programma precedente.
Nel programma sopra, a differenza di un ciclo for, dobbiamo incrementare il valore di i all'interno del corpo del ciclo.
Sebbene entrambi i programmi siano tecnicamente corretti, in questo caso è meglio usare il ciclo for. È perché il numero di iterazioni (da 1 a n) è noto.
Esempio 3: visualizza le serie di Fibonacci fino a un determinato numero (invece dei termini)
public class Fibonacci ( public static void main(String() args) ( int n = 100, t1 = 0, t2 = 1; System.out.print("Upto " + n + ": "); while (t1 <= n) ( System.out.print(t1 + " + "); int sum = t1 + t2; t1 = t2; t2 = sum; ) ) )
Produzione
Fino a 100: 0 + 1 + 1 + 2 + 3 + 5 + 8 + 13 + 21 + 34 + 55 + 89 +
Invece di visualizzare la serie fino a un numero specifico, questo programma la visualizza fino a un determinato numero (100).
Per questo, dobbiamo solo confrontare la somma degli ultimi due numeri (t1) con n.
Se t1 è minore o uguale a n, stampa t1. Altrimenti, abbiamo finito di visualizzare tutti i termini.