Kas ir Fibonači sērija?
Fibonači sērijā nākamais skaitlis ir iepriekšējo divu skaitļu summa. Pirmie divi Fibonači sēriju skaitļi ir 0 un 1.
Fibonači skaitļi tiek ievērojami izmantoti algoritma skaitļošanas izpildlaika pētījumā, lai noteiktu divu veselu skaitļu lielāko kopējo dalītāju. Aritmētikā Wythoff masīvs ir bezgalīga skaitļu matrica, kas izriet no Fibonači secības.
The Fibonacci sequence: 0, 1, 1, 2, 3, 5, 8, 13, 21,…
Java kods, izmantojot For Loop
// Izmantojot lokampubliskā klase FibonacciExample {public static void main (String [] argumenti){// Iestatiet to vēlamajam elementu skaitam Fibonači sērijāint maxNumber = 10;int iepriekšējaisNumurs = 0;int nextNumber = 1;System.out.print ("Fibonači sērija" + maxNumber + "skaitļi:");par (int i = 1; i <= maxNumber; ++ i){System.out.print (iepriekšējaisNumurs + "");/ * Katrā atkārtojumā mēs piešķiram otro numuru* pirmajam skaitlim un piešķirot pēdējo divu summu* cipari līdz otrajam skaitlim* /int summa = iepriekšējaisNumurs + nākamaisnumurs;iepriekšējaisNumurs = nākamaisNumurs;nextNumber = summa;}}}Izeja:
Fibonacci Series of 10 numbers:0 1 1 2 3 5 8 13 21 34Programmas loģika:
- PreviousNumber tiek inicializēts uz 0, un nextNumber tiek inicializēts uz 1
- Jo cilpa atkārtojas
maxNumber
- Parādīt iepriekšējoNumber
- Aprēķina PreviousNumber un nextNumber summu
- Atjaunina iepriekšējo un nākamo numuru jaunās vērtības
Java kods, izmantojot Kaut Loop
Jūs varat arī ģenerēt Fibonacci sēriju, izmantojot a
While
cilpa Java.
// Izmantojot kamēr cilpapubliskā klase FibonacciWhileExample {public static void main (String [] argumenti){int maxNumber = 10, previousNumber = 0, nextNumber = 1;System.out.print ("Fibonači sērija" + maxNumber + "skaitļi:");int i = 1;kamēr (i <= maxNumber){System.out.print (iepriekšējaisNumurs + "");int summa = iepriekšējaisNumurs + nākamaisnumurs;iepriekšējaisNumurs = nākamaisNumurs;nextNumber = summa;i ++;}}}Izeja:
Fibonacci Series of 10 numbers:0 1 1 2 3 5 8 13 21 34
Vienīgā atšķirība programmas loģikā ir WHILE Loop izmantošana Fibonacci numuru drukāšanai
Fibonači sērija, pamatojoties uz lietotāja ievadi
// fibonacci sērija, pamatojoties uz lietotāja ievadiimportēt java.util.Scanner;publiskā klase FibonacciExample {public static void main (String [] argumenti){int maxNumber = 0;int iepriekšējaisNumurs = 0;int nextNumber = 1;System.out.println ("Cik daudz skaitļu vēlaties Fibonači:");Skenera skeneris = jauns skeneris (System.in);maxNumber = skeneris.nextInt ();System.out.print ("Fibonači sērija" + maxNumber + "skaitļi:");par (int i = 1; i <= maxNumber; ++ i){System.out.print (iepriekšējaisNumurs + "");/ * Katrā atkārtojumā mēs piešķiram otro numuru* pirmajam skaitlim un piešķirot pēdējo divu summu* cipari līdz otrajam skaitlim* /int summa = iepriekšējaisNumurs + nākamaisnumurs;iepriekšējaisNumurs = nākamaisNumurs;nextNumber = summa;}}}Programmas loģika:
Loģika ir tāda pati kā agrāk. Fibonači sērijā parādāmo elementu skaita kodēšanas vietā lietotājam tiek lūgts uzrakstīt numuru.
Java kods, izmantojot rekursiju
// Rekursijas izmantošanapubliskā klase FibonacciCalc {public static int fibonacciRecursion (int n) {ja (n == 0) {atgriešanās 0;}ja (n == 1 || n == 2) {atgriezties 1;}atgriešanās fibonacciRecursion (n-2) + fibonacciRecursion (n-1);}public static void main (String args []) {int maxNumber = 10;System.out.print ("Fibonači sērija" + maxNumber + "skaitļi:");par (int i = 0; iIzeja: Fibonacci Series of 10 numbers: 0 1 1 2 3 5 8 13 21 34Programmas loģika:Rekursīvā funkcija ir tā, kas spēj sevi izsaukt.
rekursija ():
- Tiek ievadīts ievades numurs. Pārbauda 0, 1, 2 un attiecīgi atgriež 0, 1, 1, jo Fibonači secība sākas ar 0, 1, 1.
- Ja ievade n ir = = 3, funkcija sevi izsauks rekursīvi. Zvans tiek veikts divas reizes. Apskatīsim 4 ievades piemēru.
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) = 1Tagad rezultāts ir pievienots 0 + 1 + 1 + 0 + 1 = 3