Što je Fibonaccijeva serija?
U Fibonaccijevoj seriji sljedeći broj je zbroj prethodna dva broja. Prva dva broja Fibonaccijevih serija su 0 i 1.
Fibonaccijevi brojevi značajno se koriste u proračunskom proučavanju vremena izvođenja algoritma za određivanje najvećeg zajedničkog djelitelja dviju cijelih brojeva. U aritmetici je Wythoffov niz beskonačna matrica brojeva koja proizlazi iz Fibonaccijevog niza.
The Fibonacci sequence: 0, 1, 1, 2, 3, 5, 8, 13, 21,…
Java kôd koristeći For Loop
// Korištenje za petljujavni razred FibonacciExample {javna statička void glavna (String [] args){// Postavite ga na broj željenih elemenata u Fibonaccijevoj serijiint maxBROJ = 10;int previousBroj = 0;int sljedećiBroj = 1;System.out.print ("Fibonaccijeva serija od" + maxNumber + "brojeva:");za (int i = 1; i <= maxNumber; ++ i){System.out.print (prethodniBroj + "");/ * Na svakoj iteraciji dodjeljujemo drugi broj* prvom broju i dodjeljivanje zbroja posljednja dva* brojevi do drugog broja* /int zbroj = prethodniBroj + sljedećiBroj;prethodniBroj = sljedećiBroj;nextNumber = zbroj;}}}Izlaz:
Fibonacci Series of 10 numbers:0 1 1 2 3 5 8 13 21 34Logika programa:
- previousNumber je inicijaliziran na 0, a nextNumber inicijaliziran na 1
- Jer Loop se ponavlja
maxNumber
- Prikažite prethodni broj
- Izračunava zbroj previousNumber i nextNumber
- Ažurira nove vrijednosti previousNumber i nextNumber
Java kôd koristeći While Loop
Fibonaccijeve serije također možete generirati pomoću a
While
petlja u Javi.
// Korištenje dok petljajavna klasa FibonacciWhileExample {javna statička void glavna (String [] args){int maxNumber = 10, previousNumber = 0, nextNumber = 1;System.out.print ("Fibonaccijeva serija od" + maxNumber + "brojeva:");int i = 1;while (i <= maxNumber){System.out.print (prethodniBroj + "");int zbroj = prethodniBroj + sljedećiBroj;prethodniBroj = sljedećiBroj;nextNumber = zbroj;i ++;}}}Izlaz:
Fibonacci Series of 10 numbers:0 1 1 2 3 5 8 13 21 34
Jedina razlika u programskoj logici je upotreba WHILE Loop za ispis Fibonaccijevih brojeva
Fibonaccijeva serija temeljena na korisničkom unosu
// serija fibonacci na temelju korisničkog unosauvoz java.util.Scanner;javni razred FibonacciExample {javna statička void glavna (String [] args){int maxNumber = 0;int previousBroj = 0;int sljedećiBroj = 1;System.out.println ("Koliko brojeva želite u Fibonacciju:");Skener skenera = novi skener (System.in);maxNumber = scanner.nextInt ();System.out.print ("Fibonaccijeva serija od" + maxNumber + "brojeva:");za (int i = 1; i <= maxNumber; ++ i){System.out.print (prethodniBroj + "");/ * Na svakoj iteraciji dodjeljujemo drugi broj* prvom broju i dodjeljivanje zbroja posljednja dva* brojevi do drugog broja* /int zbroj = prethodniBroj + sljedećiBroj;prethodniBroj = sljedećiBroj;nextNumber = zbroj;}}}Logika programa:
Logika je ista kao i ranije. Umjesto da teško kodira broj elemenata koji će se prikazati u Fibonaccijevoj seriji, od korisnika se traži da napiše broj.
Java kôd pomoću Rekurzije
// Korištenje rekurzijejavna klasa FibonacciCalc {javna statička int fibonacciRecursion (int n) {ako (n == 0) {return 0;}ako (n == 1 || n == 2) {povratak 1;}vrati fibonacciRecursion (n-2) + fibonacciRecursion (n-1);}javna statička void glavna (String args []) {int maxBROJ = 10;System.out.print ("Fibonaccijeva serija od" + maxNumber + "brojeva:");za (int i = 0; iIzlaz: Fibonacci Series of 10 numbers: 0 1 1 2 3 5 8 13 21 34Logika programa:Rekurzivna funkcija je ona koja ima sposobnost da se sama pozove.
fibonacciRecursion ():
- Uzima ulazni broj. Provjerava 0, 1, 2 i u skladu s tim vraća 0, 1, 1 jer Fibonaccijev niz započinje s 0, 1, 1.
- Kada je ulaz n> = 3, funkcija će se sama rekurzivno pozvati. Poziv se obavlja dva puta. Pogledajmo primjer za unos 4.
fibonacciRecursion (4)It will recursively call fibonacciRecursion function for values 2 and 3fibonacciRecursion (2) \\ call for value 0 and 1fibonacciRecursion (0) = 0fibonacciRecursion (1) = 1fibonacciRecursion (3) \\ It will call for 1 and 2fibonacciRecursion (1) = 1fibonacciRecursion (2) \\ It will call for 0 and 1fibonacciRecursion (0) = 0fibonacciRecursion (1) = 1Sada se dodaje rezultat 0 + 1 + 1 + 0 + 1 = 3