Mikä on Fibonacci-sarja?
Fibonacci-sarjassa seuraava luku on kahden edellisen numeron summa. Fibonacci-sarjan kaksi ensimmäistä numeroa ovat 0 ja 1.
Fibonacci-lukuja käytetään merkittävästi algoritmin laskennallisessa ajonaikaisessa tutkimuksessa kahden kokonaisluvun suurimman yhteisen jakajan määrittämiseksi. Aritmeettisesti Wythoff-taulukko on Fibonacci-sekvenssistä johtuva ääretön matriisi.
The Fibonacci sequence: 0, 1, 1, 2, 3, 5, 8, 13, 21,…
Java-koodi For Loop -sovelluksella
// Käyttämällä silmukkaajulkinen luokka FibonacciExample {public staattinen void main (String [] väittää){// Aseta se haluamaasi määrään elementtejä Fibonacci-sarjassaint maxLuku = 10;int edellinenLuku = 0;int seuraavaLuku = 1;System.out.print ("Fibonacci-sarja" + maxNumber + "-numeroita:");for (int i = 1; i <= maxNumber; ++ i){System.out.print (edellinenLuku + "");/ * Jokaiselle iteraatiolle annamme toisen numeron* ensimmäiseen numeroon ja määrittämällä kahden viimeisen summan* numerot toiseen numeroon* /int summa = edellinenLuku + seuraavaNumero;edellinenLuku = seuraavaNumero;seuraavaNumero = summa;}}}Tuotos:
Fibonacci Series of 10 numbers:0 1 1 2 3 5 8 13 21 34Ohjelmalogiikka:
- previousNumber alustetaan arvoon 0 ja nextNumber alustetaan arvoon 1
- Sillä silmukka toistaa läpi
maxNumber
- Näytä edellinen numero
- Laskee edellisen ja seuraavan numeron summan
- Päivittää edellisen ja seuraavan numeron uudet arvot
Java-koodi While Loop -toiminnon avulla
Voit myös luoda Fibonacci-sarjan käyttämällä a
While
silmukka Java.
// Loop-toiminnon käyttäminenjulkinen luokka FibonacciWhileExample {public staattinen void main (String [] väittää){int maxNumber = 10, previousNumber = 0, nextNumber = 1;System.out.print ("Fibonacci-sarja" + maxNumber + "-numeroita:");int i = 1;kun (i <= maxNumber){System.out.print (edellinenLuku + "");int summa = edellinenLuku + seuraavaNumero;edellinenLuku = seuraavaNumero;seuraavaNumero = summa;i ++;}}}Tuotos:
Fibonacci Series of 10 numbers:0 1 1 2 3 5 8 13 21 34
Ainoa ero ohjelmalogiikassa on WHILE Loop -sovelluksen käyttö Fibonacci-numeroiden tulostamiseen
Fibonacci-sarja käyttäjän syötteen perusteella
// fibonacci -sarja käyttäjän syötteen perusteellatuo java.util.Scanner;julkinen luokka FibonacciExample {public staattinen void main (String [] väittää){int maxLuku = 0;int edellinenLuku = 0;int seuraavaLuku = 1;System.out.println ("Kuinka monta numeroa haluat Fibonaccissa:");Skanneriskanneri = uusi skanneri (System.in);maxNumber = skanneri.nextInt ();System.out.print ("Fibonacci-sarja" + maxNumber + "-numeroita:");for (int i = 1; i <= maxNumber; ++ i){System.out.print (edellinenLuku + "");/ * Jokaiselle iteraatiolle annamme toisen numeron* ensimmäiseen numeroon ja määrittämällä kahden viimeisen summan* numerot toiseen numeroon* /int summa = edellinenLuku + seuraavaNumero;edellinenLuku = seuraavaNumero;seuraavaNumero = summa;}}}Ohjelmalogiikka:
Logiikka on sama kuin aikaisemmin. Fibonacci-sarjassa näytettävien elementtien määrän kovakoodaamisen sijaan käyttäjää pyydetään kirjoittamaan numero.
Java-koodi käyttämällä rekursiota
// Rekursiota käyttämälläjulkinen luokka FibonacciCalc {julkinen staattinen int fibonacciRecursion (int n) {jos (n == 0) {paluu 0;}jos (n == 1 || n == 2) {paluu 1;}paluu fibonacciRecursion (n-2) + fibonacciRecursion (n-1);}public staattinen void main (String args []) {int maxLuku = 10;System.out.print ("Fibonacci-sarja" + maxNumber + "-numeroita:");for (int i = 0; iTuotos: Fibonacci Series of 10 numbers: 0 1 1 2 3 5 8 13 21 34Ohjelmalogiikka:Rekursiivinen toiminto on toiminto, jolla voi soittaa itseään.
fibonacciRecursion ():
- Ottaa syötetyn numeron. Tarkistaa arvot 0, 1, 2 ja palauttaa arvot 0, 1, 1 vastaavasti, koska Fibonacci-sekvenssi alkaa luvuilla 0, 1, 1.
- Kun tulo n on> = 3, toiminto kutsuu itseään rekursiivisesti. Puhelu soitetaan kaksi kertaa. Katsotaanpa esimerkki 4: n syötteestä.
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) = 1Nyt tulos lisätään 0 + 1 + 1 + 0 + 1 = 3