Mis on Fibonacci seeria?
Fibonacci seerias on järgmine number kahe eelmise numbri summa. Fibonacci seeria kaks esimest numbrit on 0 ja 1.
Fibonacci numbreid kasutatakse oluliselt algoritmi arvutuslikus käitamisajas, et määrata kahe täisarvu suurim ühine jagaja. Aritmeetikas on Wythoffi massiiv Fibonacci järjestusest tulenev lõpmatu arvude maatriks.
The Fibonacci sequence: 0, 1, 1, 2, 3, 5, 8, 13, 21,…
Java-kood For Loopi abil
// Kasutamine silmuseksavalik klass FibonacciExample {public staatiline void main (String [] args){// Määrake see Fibonacci seerias soovitud elementide arvuksint maxNumber = 10;int eelmineNumber = 0;int järgmineNumber = 1;System.out.print ("Fibonacci seeria" + maxNumber + "numbrid:");jaoks (int i = 1; i <= maxNumber; ++ i){System.out.print (eelmineNumber + "");/ * Igal iteratsioonil määrame teise numbri* esimesele numbrile ja määrates kahe viimase summa* numbrid teisele numbrile* /int summa = eelmineNumber + järgmineNumber;eelmineNumber = järgmineNumber;järgmineNumber = summa;}}}Väljund:
Fibonacci Series of 10 numbers:0 1 1 2 3 5 8 13 21 34Programmi loogika:
- eelmineNumber lähtestatakse väärtuseks 0 ja järgminearv lähtestatakse väärtuseks 1
- Sest Loop kordab läbi
maxNumber
- Kuva eelmineNumber
- Arvutab eelmise ja järgmise numbri summa
- Värskendab eelmise ja järgmise numbri uusi väärtusi
Java-kood kasutades funktsiooni While Loop
Fibonacci seeria saate genereerida ka a abil
While
silmus Java-s.
// Loopi kasutadesavalik klass FibonacciWhileExample {public staatiline void main (String [] args){int maxNumber = 10, eelmineNumber = 0, järgmineNumber = 1;System.out.print ("Fibonacci seeria" + maxNumber + "numbrid:");int i = 1;samas (i <= maxNumber){System.out.print (eelmineNumber + "");int summa = eelmineNumber + järgmineNumber;eelmineNumber = järgmineNumber;järgmineNumber = summa;i ++;}}}Väljund:
Fibonacci Series of 10 numbers:0 1 1 2 3 5 8 13 21 34
Ainus erinevus programmi loogikas on WHILE Loopi kasutamine Fibonacci numbrite printimiseks
Fibonacci seeria põhineb kasutaja sisendil
// fibonacci seeria kasutaja sisendi põhjalimport java.util.Scanner;avalik klass FibonacciExample {public staatiline void main (String [] args){int maxNumber = 0;int eelmineNumber = 0;int järgmineNumber = 1;System.out.println ("Mitu numbrit soovite Fibonaccis:");Skanneriskanner = uus skanner (System.in);maxNumber = skanner.nextInt ();System.out.print ("Fibonacci seeria" + maxNumber + "numbrid:");jaoks (int i = 1; i <= maxNumber; ++ i){System.out.print (eelmineNumber + "");/ * Igal iteratsioonil määrame teise numbri* esimesele numbrile ja määrates kahe viimase summa* numbrid teisele numbrile* /int summa = eelmineNumber + järgmineNumber;eelmineNumber = järgmineNumber;järgmineNumber = summa;}}}Programmi loogika:
Loogika on sama mis varem. Fibonacci seerias näidatavate elementide arvu kõvakodeerimise asemel palutakse kasutajal kirjutada number.
Java-kood rekursiooni abil
// Rekursiooni kasutamineavalik klass FibonacciCalc {public staatiline int fibonacciRecursion (int n) {kui (n == 0) {tagastus 0;}kui (n == 1 || n == 2) {tagastus 1;}tagasipöördumine fibonacciRecursion (n-2) + fibonacciRecursion (n-1);}public staatiline void main (String args []) {int maxNumber = 10;System.out.print ("Fibonacci seeria" + maxNumber + "numbrid:");for (int i = 0; iVäljund: Fibonacci Series of 10 numbers: 0 1 1 2 3 5 8 13 21 34Programmi loogika:Rekursiivne funktsioon on funktsioon, mida saab ise kutsuda.
fibonacciRekursioon ():
- Võtab sisendnumbri. Kontrollib väärtusi 0, 1, 2 ja tagastab vastavalt 0, 1, 1, kuna Fibonacci järjestus algab 0, 1, 1.
- Kui sisend n on> = 3, kutsub funktsioon ennast rekursiivselt. Kõnet tehakse kaks korda. Vaatame näite 4 sisestamiseks.
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) = 1Nüüd lisatakse tulemus 0 + 1 + 1 + 0 + 1 = 3