Selles programmis saate õppida fibonacci seeriade kuvamist Java-s, kasutades tsükleid ja while. Õpite kuvama seeriat kindla termini või numbrini.
Selle näite mõistmiseks peaksid teil olema teadmised järgmistest Java programmeerimise teemadest:
- Java aasale
- Java ajal ja tee … Loopi ajal
Fibonacci sari on sari, kus järgmine termin on kahe eelmise termini summa. Fibonacci järjestuse kahele esimesele terminile järgneb 0.
Fibonacci järjestus: 0, 1, 1, 2, 3, 5, 8, 13, 21,…
Näide 1: Fibonacci seeria kuvamine loopi jaoks
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; ) ) )
Väljund
0 + 1 + 1 + 2 + 3 + 5 + 8 + 13 + 21 + 34 +
Ülaltoodud programmis initsialiseeritakse esimene (t1) ja teine (t2) Fibonacci seeria 0 ja 1 esimeseks terminiks.
Seejärel kuvatakse silmuse iteratsioonidena väärtuseni n (terminite arv) muutujaks t1 salvestatud kahe eelmise termini summa.
Fibonacci seeria saate genereerida ka Java-i ajasilmu abil.
Näide 2: kuvage Fibonacci seeria while-silmuse abil
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++; ) ) )
Väljund on sama mis ülaltoodud programmil.
Eespool nimetatud programmis peame erinevalt for loop'ist suurendama i väärtust tsükli kehas.
Kuigi mõlemad programmid on tehniliselt õiged, on antud juhul parem kasutada loopi jaoks. Selle põhjuseks on asjaolu, et iteratsiooni arv (vahemikus 1 kuni n) on teada.
Näide 3: Fibonacci seeria kuvamine etteantud numbrini (terminite asemel)
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; ) ) )
Väljund
Kuni 100: 0 + 1 + 1 + 2 + 3 + 5 + 8 + 13 + 21 + 34 + 55 + 89 +
Selle asemel, et seeriaid kuvada kindla numbrini, kuvab see programm seda kuni antud numbrini (100).
Selleks peame lihtsalt võrdlema kahe viimase numbri (t1) summat n-ga.
Kui t1 on väiksem kui n või on sellega võrdne, printige t1. Muidu oleme kõigi terminite kuvamise lõpetanud.