Série de Fibonacci en Java utilisant le programme de récursivité et de boucles
Qu'est-ce que la série de Fibonacci en Java ?
Une série de Fibonacci en Java est une série de nombres dans laquelle le nombre suivant est la somme des deux nombres précédents. Les deux premiers nombres de la série de Fibonacci sont 0 et 1. Les nombres de Fibonacci sont utilisés de manière significative dans l'étude d'exécution informatique 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 suite de Fibonacci.
The Fibonacci sequence: 0, 1, 1, 2, 3, 5, 8, 13, 21, ...
- Qu'est-ce que la série de Fibonacci en Java ?
- Programme de séries de Fibonacci en Java utilisant la boucle For
- Programme de séries de Fibonacci en Java utilisant la boucle While
- Séries de Fibonacci utilisant la récursivité en Java
Programme de séries de Fibonacci en Java 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 séries de Fibonacci en Java utilisant la boucle While
Vous pouvez également générer des séries Java Fibonacci en utilisant un While
boucle en 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 la boucle WHILE pour imprimer les nombres de Fibonacci
Série de Fibonacci basée sur l'entrée 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 Fibonacci Series, l'utilisateur est invité à écrire un nombre.
Séries de Fibonacci utilisant la récursivité en Java
Ci-dessous, un programme de séries de Fibonacci en Java 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.
fibonacciRécursion() :
- La fonction de récursivité Java 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 en Java commence par 0, 1, 1.
- Lorsque l'entrée n est>=3, la fonction s'appellera elle-même de manière récursive. L'appel se fait deux fois. Voyons la série de Fibonacci en Java en utilisant un exemple de récursivité pour une entrée 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
Maintenant, le résultat est ajouté 0+1+1+0+1=3
Java