Série de Fibonacci dans Java en utilisant le programme de récursivité et de boucles

Qu'est-ce que la série de Fibonacci Java?

A Série Fibonacci in Java est une suite de nombres dans laquelle le nombre suivant est la somme des deux nombres précédents. Les deux premiers nombres de la suite de Fibonacci sont 0 et 1. Les nombres de Fibonacci sont largement utilisés dans l'étude du temps d'exécution d'un algorithme pour déterminer le plus grand diviseur commun de deux entiers.

En arithmétique, le tableau de Wythoff est une matrice infinie de nombres résultant de la séquence de Fibonacci.

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

Programme de la série Fibonacci dans Java en utilisant la boucle For

//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;
	        }
	}
}

Sortie :

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

Logique du programme :

  • previousNumber est initialisé à 0 et nextNumber est initialisé à 1
  • La boucle For de Fibonacci parcourt maxNumber
    • Afficher le numéro précédent
    • Calcule la somme de previousNumber et nextNumber
    • Met à jour les nouvelles valeurs de previousNumber et nextNumber

Programme de la série Fibonacci dans Java en utilisant la boucle While

Vous pouvez également générer Java Série de Fibonacci utilisant un While boucle dans 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++;
	        }
 
	}
 
}

Sortie :

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

La seule différence dans la logique du programme est l'utilisation de Boucle WHILE imprimer Fibonacci Numbers

Série de Fibonacci basée sur la saisie de l'utilisateur

//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;
	        }
 
	}
 
}

Logique du programme :
La logique est la même que précédemment. Au lieu de coder en dur le nombre d'éléments à afficher dans Java Série Fibonacci, l'utilisateur est invité à écrire un numéro.

Série de Fibonacci utilisant la récursivité dans Java

Vous trouverez ci-dessous un programme de série de Fibonacci en Java en utilisant la récursivité :

//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) +" ");
		}
	}
}


Sortie :

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

Logique du programme :

Une fonction récursive est une fonction qui a la capacité de s'appeler elle-même.

fibonacciRecursion() :

  1. L'espace Java La fonction de récursion de Fibonacci prend un nombre d'entrée. Vérifie 0, 1, 2 et renvoie 0, 1, 1 en conséquence car la séquence de Fibonacci dans Java commence par 0, 1, 1.
  2. Lorsque l'entrée n est >=3, la fonction s'appellera de manière récursive. L'appel est effectué deux fois. Voyons la série de Fibonacci dans Java en utilisant un exemple de récursivité pour la saisie de 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

Le résultat est maintenant ajouté 0+1+1+0+1=3

Résumez cet article avec :