Σειρά Fibonacci μέσα Java χρησιμοποιώντας το πρόγραμμα Recursion and Loops

Τι περιλαμβάνει η σειρά Fibonacci Java?

A Σειρά Fibonacci in Java είναι μια σειρά αριθμών στους οποίους ο επόμενος αριθμός είναι το άθροισμα των δύο προηγούμενων αριθμών. Οι δύο πρώτοι αριθμοί της σειράς Fibonacci είναι 0 και 1. Οι αριθμοί Fibonacci χρησιμοποιούνται σημαντικά στην υπολογιστική μελέτη χρόνου εκτέλεσης ενός αλγορίθμου για τον προσδιορισμό του μεγαλύτερου κοινού διαιρέτη δύο ακεραίων.

Στην αριθμητική, ο πίνακας Wythoff είναι ένας άπειρος πίνακας αριθμών που προκύπτει από την ακολουθία Fibonacci.

The Fibonacci sequence: 0, 1, 1, 2, 3, 5, 8, 13, 21, ...

Πρόγραμμα σειράς Fibonacci σε Java χρησιμοποιώντας το For Loop

//Using  For Loop
public class FibonacciExample {
	public static void main(String[] args) 
	{
		// Set it to the number of elements you want in the Fibonacci Series
		 int maxNumber = 10; 
		 int previousNumber = 0;
		 int nextNumber = 1;
	        System.out.print("Fibonacci Series of "+maxNumber+" numbers:");
	        for (int i = 1; i <= maxNumber; ++i)
	        {
	            System.out.print(previousNumber+" ");
	            /* On each iteration, we are assigning second number
	             * to the first number and assigning the sum of last two
	             * numbers to the second number
	             */
 
	      
	            int sum = previousNumber + nextNumber;
	            previousNumber = nextNumber;
	            nextNumber = sum;
	        }
	}
}

Παραγωγή:

Fibonacci Series of 10 numbers:0 1 1 2 3 5 8 13 21 34

Λογική προγράμματος:

  • Το previousNumber αρχικοποιείται σε 0 και το nextNumber αρχικοποιείται σε 1
  • Ο βρόχος Fibonacci For επαναλαμβάνεται maxNumber
    • Εμφάνιση του προηγούμενου Αριθμού
    • Υπολογίζει το άθροισμα του προηγούμενου αριθμού και του επόμενου αριθμού
    • Ενημερώνει τις νέες τιμές των previousNumber και nextNumber

Πρόγραμμα σειράς Fibonacci σε Java χρησιμοποιώντας ενώ βρόχο

Μπορείτε επίσης να δημιουργήσετε Java Σειρά Fibonacci χρησιμοποιώντας α While βρόχο μέσα Java

//Using  While Loop
public class FibonacciWhileExample {
	public static void main(String[] args) 
	{
		 int maxNumber = 10, previousNumber = 0, nextNumber = 1;
	        System.out.print("Fibonacci Series of "+maxNumber+" numbers:");
 
	        int i=1;
	        while(i <= maxNumber)
	        {
	            System.out.print(previousNumber+" ");
	            int sum = previousNumber + nextNumber;
	            previousNumber = nextNumber;
	            nextNumber = sum;
	            i++;
	        }
 
	}
 
}

Παραγωγή:

Fibonacci Series of 10 numbers:0 1 1 2 3 5 8 13 21 34

Η μόνη διαφορά στη λογική του προγράμματος είναι η χρήση του WHILE Βρόχος για να εκτυπώσετε Fibonacci Numbers

Σειρά Fibonacci με βάση την είσοδο του χρήστη

//fibonacci series based on the user input
import java.util.Scanner;
public class FibonacciExample {
 
	public static void main(String[] args) 
	{
	
		 int maxNumber = 0; 
		 int previousNumber = 0;
		 int nextNumber = 1;
		 
		    System.out.println("How many numbers you want in Fibonacci:");
	        Scanner scanner = new Scanner(System.in);
	        maxNumber = scanner.nextInt();
	        System.out.print("Fibonacci Series of "+maxNumber+" numbers:");
 
	        for (int i = 1; i <= maxNumber; ++i)
	        {
	            System.out.print(previousNumber+" ");
	            /* On each iteration, we are assigning second number
	             * to the first number and assigning the sum of last two
	             * numbers to the second number
	             */
 
	      
	            int sum = previousNumber + nextNumber;
	            previousNumber = nextNumber;
	            nextNumber = sum;
	        }
 
	}
 
}

Λογική προγράμματος:
Η λογική είναι ίδια με την προηγούμενη. Αντί να κωδικοποιήσετε τον αριθμό των στοιχείων που θα εμφανίζονται Java Σειρά Fibonacci, ο χρήστης καλείται να γράψει αριθμό.

Σειρά Fibonacci με χρήση αναδρομής σε Java

Παρακάτω είναι ένα πρόγραμμα της σειράς Fibonacci Java χρησιμοποιώντας αναδρομή:

//Using Recursion
public class FibonacciCalc{
	public static int fibonacciRecursion(int n){
	if(n == 0){
		return 0;
	}
	if(n == 1 || n == 2){
			return 1;
		}
	return fibonacciRecursion(n-2) + fibonacciRecursion(n-1);
	}
    public static void main(String args[]) {
	int maxNumber = 10;
	System.out.print("Fibonacci Series of "+maxNumber+" numbers: ");
	for(int i = 0; i < maxNumber; i++){
			System.out.print(fibonacciRecursion(i) +" ");
		}
	}
}


Παραγωγή:

Fibonacci Series of 10 numbers: 0 1 1 2 3 5 8 13 21 34

Λογική προγράμματος:

Μια αναδρομική συνάρτηση είναι αυτή που έχει τη δυνατότητα να καλεί τον εαυτό της.

fibonacciRecursion():

  1. The Java Η συνάρτηση αναδρομής Fibonacci παίρνει έναν αριθμό εισόδου. Ελέγχει για 0, 1, 2 και επιστρέφει 0, 1, 1 ανάλογα επειδή η ακολουθία Fibonacci σε Java ξεκινά με 0, 1, 1.
  2. Όταν η είσοδος n είναι >=3, η συνάρτηση θα καλεί τον εαυτό της αναδρομικά. Η κλήση γίνεται δύο φορές. Ας δούμε τη σειρά Fibonacci Java χρησιμοποιώντας το παράδειγμα αναδρομής για την εισαγωγή του 4.
fibonacciRecursion (4)  
	It will recursively call fibonacciRecursion function for values 2 and 3
		fibonacciRecursion (2) \\ call for value 0 and 1
			fibonacciRecursion (0) = 0
			fibonacciRecursion (1) = 1
		fibonacciRecursion (3) \\ It will call for 1 and 2
			fibonacciRecursion (1) = 1
			fibonacciRecursion (2) \\ It will call for 0 and 1
				fibonacciRecursion (0) = 0
				fibonacciRecursion (1) = 1

Τώρα προστίθεται το αποτέλεσμα 0+1+1+0+1=3