Kaj je Fibonaccijeva serija?
V Fibonaccijevi seriji je naslednja številka vsota prejšnjih dveh števil. Prvi dve številki Fibonaccijeve serije sta 0 in 1.
Fibonaccijeva števila se v veliki meri uporabljajo pri računski študiji algoritma za določanje največjega skupnega delitelja dveh celih števil.V aritmetiki je matrika Wythoffa neskončna matrika števil, ki izhaja iz Fibonaccijevega zaporedja.
The Fibonacci sequence: 0, 1, 1, 2, 3, 5, 8, 13, 21,…
Java koda z uporabo For Loop
// Uporaba za zankojavni razred FibonacciExample {public static void main (String [] args){// Nastavite ga na število elementov, ki jih želite v Fibonaccijevi serijiint maxNumber = 10;int previousNumber = 0;int nextNumber = 1;System.out.print ("Fibonaccijeva serija" + maxNumber + "števil:");za (int i = 1; i <= maxNumber; ++ i){System.out.print (previousNumber + "");/ * Za vsako ponovitev dodelimo drugo številko* na prvo številko in dodelitev vsote zadnjih dveh* številke do druge številke* /int sum = previousNumber + nextNumber;previousNumber = nextNumber;nextNumber = vsota;}}}Izhod:
Fibonacci Series of 10 numbers:0 1 1 2 3 5 8 13 21 34Logika programa:
- previousNumber se inicializira na 0, nextNumber pa na 1
- Za Loop se ponovi
maxNumber
- Prikaže prejšnjo številko
- Izračuna vsoto prejšnjega števila in naslednjega števila
- Posodobi nove vrednosti prejšnjega števila in naslednjega števila
Java koda z uporabo While Loop
Serijo Fibonacci lahko ustvarite tudi z uporabo
While
zanka v Javi.
// Uporaba While Loopjavni razred FibonacciWhileExample {public static void main (String [] args){int maxNumber = 10, previousNumber = 0, nextNumber = 1;System.out.print ("Fibonaccijeva serija" + maxNumber + "števil:");int i = 1;while (i <= maxNumber){System.out.print (previousNumber + "");int sum = previousNumber + nextNumber;previousNumber = nextNumber;nextNumber = vsota;i ++;}}}Izhod:
Fibonacci Series of 10 numbers:0 1 1 2 3 5 8 13 21 34
Edina razlika v programski logiki je uporaba WHILE Loop za tiskanje Fibonaccijevih števil
Serija Fibonacci na podlagi uporabniškega vnosa
// serija fibonacci na podlagi uporabnikovega vnosauvoz java.util.Scanner;javni razred FibonacciExample {public static void main (String [] args){int maxNumber = 0;int previousNumber = 0;int nextNumber = 1;System.out.println ("Koliko številk želite v Fibonacci:");Optični bralnik optičnega bralnika = nov optični bralnik (System.in);maxNumber = scanner.nextInt ();System.out.print ("Fibonaccijeva serija" + maxNumber + "števil:");za (int i = 1; i <= maxNumber; ++ i){System.out.print (previousNumber + "");/ * Za vsako ponovitev dodelimo drugo številko* na prvo številko in dodelitev vsote zadnjih dveh* številke do druge številke* /int sum = previousNumber + nextNumber;previousNumber = nextNumber;nextNumber = vsota;}}}Logika programa:
Logika je enaka kot prej. Namesto da kodira število elementov, ki jih je treba prikazati v Fibonaccijevi seriji, uporabnika prosimo, da napiše številko.
Java koda z uporabo Recursion
// Uporaba rekurzijejavni razred FibonacciCalc {javni statični int fibonacciRecursion (int n) {če (n == 0) {vrnitev 0;}če (n == 1 || n == 2) {vrnitev 1;}vrni fibonacciRecursion (n-2) + fibonacciRecursion (n-1);}public static void main (String args []) {int maxNumber = 10;System.out.print ("Fibonaccijeva serija" + maxNumber + "števil:");za (int i = 0; iIzhod: Fibonacci Series of 10 numbers: 0 1 1 2 3 5 8 13 21 34Logika programa:Rekurzivna funkcija je tista, ki se lahko sama pokliče.
fibonacciRecursion ():
- Vnese vhodno številko. Preveri 0, 1, 2 in ustrezno vrne 0, 1, 1, ker se Fibonaccijevo zaporedje začne z 0, 1, 1.
- Ko je vnos n> = 3, se bo funkcija poklicala rekurzivno. Klic se izvede dvakrat. Poglejmo primer za vnos 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) = 1Zdaj se doda rezultat 0 + 1 + 1 + 0 + 1 = 3