Πρόγραμμα Fibonacci Series στην Java χρησιμοποιώντας Loops & Αναδρομή

Πίνακας περιεχομένων:

Anonim

Τι είναι η σειρά 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 Αναδρομή ():

  1. Παίρνει έναν αριθμό εισαγωγής. Ελέγχει για 0, 1, 2 και επιστρέφει 0, 1, 1 ανάλογα, επειδή η ακολουθία Fibonacci ξεκινά με 0, 1, 1.
  2. Όταν η είσοδος 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