Qu'est-ce que la série Fibonacci?
Dans la série de Fibonacci, 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 de calcul d'exécution de l'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,…
Code Java utilisant la boucle For
// Utilisation de la boucle Forclasse publique FibonacciExample {public static void main (String [] args){// Définissez-le sur le nombre d'éléments que vous souhaitez dans la série Fibonacciint maxNumber = 10;int previousNumber = 0;int nextNumber = 1;System.out.print ("Série Fibonacci de" + maxNumber + "nombres:");pour (int i = 1; i <= maxNumber; ++ i){System.out.print (previousNumber + "");/ * À chaque itération, nous attribuons un deuxième numéro* au premier nombre et attribuer la somme des deux derniers* chiffres au deuxième chiffre* /somme int = numéro précédent + numéro suivant;previousNumber = numéro suivant;nextNumber = somme;}}}Production:
Fibonacci Series of 10 numbers:0 1 1 2 3 5 8 13 21 34Logique du programme:
- previousNumber est initialisé à 0 et nextNumber est initialisé à 1
- For Loop 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
Code Java utilisant la boucle While
Vous pouvez également générer des séries Fibonacci à l'aide d'un
While
boucle en Java.
// Utilisation de la boucle Whileclasse publique FibonacciWhileExample {public static void main (String [] args){int maxNumber = 10, previousNumber = 0, nextNumber = 1;System.out.print ("Série Fibonacci de" + maxNumber + "nombres:");int i = 1;tandis que (i <= maxNumber){System.out.print (previousNumber + "");somme int = numéro précédent + numéro suivant;previousNumber = numéro suivant;nextNumber = somme;i ++;}}}Production:
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 WHILE Loop pour imprimer les nombres de Fibonacci
Série Fibonacci basée sur l'entrée de l'utilisateur
// série fibonacci basée sur l'entrée de l'utilisateurimport java.util.Scanner;classe publique FibonacciExample {public static void main (String [] args){int maxNumber = 0;int previousNumber = 0;int nextNumber = 1;System.out.println ("Combien de nombres vous voulez dans Fibonacci:");Scanner scanner = nouveau scanner (System.in);maxNumber = scanner.nextInt ();System.out.print ("Série Fibonacci de" + maxNumber + "nombres:");pour (int i = 1; i <= maxNumber; ++ i){System.out.print (previousNumber + "");/ * À chaque itération, nous attribuons un deuxième numéro* au premier nombre et attribuer la somme des deux derniers* chiffres au deuxième chiffre* /somme int = numéro précédent + numéro suivant;previousNumber = numéro suivant;nextNumber = somme;}}}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 la série Fibonacci, l'utilisateur est invité à écrire un nombre.
Code Java utilisant la récursivité
// Utilisation de la récursivitéclasse publique FibonacciCalc {public static int fibonacciRecursion (int n) {si (n == 0) {return 0;}si (n == 1 || n == 2) {return 1;}retourne fibonacciRecursion (n-2) + fibonacciRecursion (n-1);}public static void main (String args []) {int maxNumber = 10;System.out.print ("Série Fibonacci de" + maxNumber + "nombres:");pour (int i = 0; iProduction: Fibonacci Series of 10 numbers: 0 1 1 2 3 5 8 13 21 34Logique du programme:Une fonction récursive est une fonction qui a la capacité de s'appeler elle-même.
fibonacciRecursion ():
- Prend un numéro d'entrée. Vérifie 0, 1, 2 et renvoie 0, 1, 1 en conséquence car la séquence de Fibonacci 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 est effectué deux fois. Voyons un exemple pour l'entrée de 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) = 1Maintenant le résultat est ajouté 0 + 1 + 1 + 0 + 1 = 3