Τι είναι η σειρά Fibonacci;
Στη σειρά Fibonacci, ο επόμενος αριθμός είναι το άθροισμα των δύο προηγούμενων αριθμών. Οι δύο πρώτοι αριθμοί της σειράς Fibonacci είναι 0 και 1.
Οι αριθμοί Fibonacci χρησιμοποιούνται σημαντικά στην υπολογιστική μελέτη χρόνου εκτέλεσης του αλγορίθμου για τον προσδιορισμό του μεγαλύτερου κοινού διαιρέτη δύο ακεραίων. Στην αριθμητική, ο πίνακας Wythoff είναι ένας άπειρος πίνακας αριθμών που προκύπτει από την ακολουθία Fibonacci.
The Fibonacci sequence: 0, 1, 1, 2, 3, 5, 8, 13, 21,…
Κωδικός Java χρησιμοποιώντας το For Loop
// Χρήση για βρόχοδημόσια τάξη FibonacciExample {δημόσιος στατικός κενός κενός (String [] args){// Ορίστε τον στον αριθμό των στοιχείων που θέλετε στη σειρά Fibonacciint maxNumber = 10;int previousNumber = 0;int nextNumber = 1;System.out.print ("Fibonacci Series of" + maxNumber + "number:");για (int i = 1; i <= maxNumber; ++ i){System.out.print (previousNumber + "");/ * Σε κάθε επανάληψη, εκχωρούμε δεύτερο αριθμό* στον πρώτο αριθμό και εκχώρηση του αθροίσματος των δύο τελευταίων* αριθμοί στον δεύτερο αριθμό* /int sum = previousNumber + nextNumber;previousNumber = nextNumber;nextNumber = άθροισμα;}}}Παραγωγή:
Fibonacci Series of 10 numbers:0 1 1 2 3 5 8 13 21 34Λογική προγράμματος:
- previousNumber αρχικοποιείται σε 0 και nextNumber αρχικοποιείται σε 1
- Για Loop επαναλαμβάνεται
maxNumber
- Εμφάνιση του προηγούμενου αριθμού
- Υπολογίζει το άθροισμα του προηγούμενου αριθμού και του επόμενου αριθμού
- Ενημερώνει τις νέες τιμές του προηγούμενου και του επόμενου αριθμού
Κωδικός Java χρησιμοποιώντας While Loop
Μπορείτε επίσης να δημιουργήσετε Fibonacci Series χρησιμοποιώντας ένα
While
βρόχος στην Java.
// Χρήση While Loopδημόσια τάξη FibonacciWhileExample {δημόσιος στατικός κενός κενός (String [] args){int maxNumber = 10, previousNumber = 0, nextNumber = 1;System.out.print ("Fibonacci Series of" + maxNumber + "number:");int i = 1;ενώ (i <= maxNumber){System.out.print (previousNumber + "");int sum = previousNumber + nextNumber;previousNumber = nextNumber;nextNumber = άθροισμα;i ++;}}}Παραγωγή:
Fibonacci Series of 10 numbers:0 1 1 2 3 5 8 13 21 34
Η μόνη διαφορά στη λογική του προγράμματος είναι η χρήση του WHILE Loop για εκτύπωση αριθμών Fibonacci
Η σειρά Fibonacci βασίζεται στην είσοδο του χρήστη
// σειρά fibonacci με βάση την είσοδο του χρήστηεισαγωγή java.util.Scanner;δημόσια τάξη FibonacciExample {δημόσιος στατικός κενός κενός (String [] args){int maxNumber = 0;int previousNumber = 0;int nextNumber = 1;System.out.println ("Πόσους αριθμούς θέλετε στο Fibonacci:");Σαρωτής σαρωτή = νέος σαρωτής (System.in);maxNumber = scanner.nextInt ();System.out.print ("Fibonacci Series of" + maxNumber + "number:");για (int i = 1; i <= maxNumber; ++ i){System.out.print (previousNumber + "");/ * Σε κάθε επανάληψη, εκχωρούμε δεύτερο αριθμό* στον πρώτο αριθμό και εκχώρηση του αθροίσματος των δύο τελευταίων* αριθμοί στον δεύτερο αριθμό* /int sum = previousNumber + nextNumber;previousNumber = nextNumber;nextNumber = άθροισμα;}}}Λογική προγράμματος:
Η λογική είναι ίδια όπως νωρίτερα. Αντί να κωδικοποιεί τον αριθμό των στοιχείων που θα εμφανίζονται στη σειρά Fibonacci, ζητείται από τον χρήστη να γράψει αριθμό.
Κωδικός Java χρησιμοποιώντας το Recursion
// Χρησιμοποιώντας την αναδρομήδημόσια τάξη FibonacciCalc {δημόσια στατική int fibonacciRecursion (int n) {αν (n == 0) {επιστροφή 0;}αν (n == 1 || n == 2) {επιστροφή 1;}επιστροφή fibonacciRecursion (n-2) + fibonacciRecursion (n-1);}δημόσιος στατικός κενός κενός (String args []) {int maxNumber = 10;System.out.print ("Fibonacci Series of" + maxNumber + "number:");για (int i = 0; iΠαραγωγή: Fibonacci Series of 10 numbers: 0 1 1 2 3 5 8 13 21 34Λογική προγράμματος:Μια αναδρομική συνάρτηση είναι αυτή που έχει την ικανότητα να καλείται.
fibonacci Αναδρομή ():
- Παίρνει έναν αριθμό εισαγωγής. Ελέγχει για 0, 1, 2 και επιστρέφει 0, 1, 1 ανάλογα, επειδή η ακολουθία Fibonacci ξεκινά με 0, 1, 1.
- Όταν η είσοδος n είναι> = 3, η συνάρτηση θα καλείται αναδρομικά. Η κλήση γίνεται δύο φορές. Ας δούμε το παράδειγμα για την εισαγωγή του 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) = 1Τώρα το αποτέλεσμα προστίθεται 0 + 1 + 1 + 0 + 1 = 3