Série Fibonacci en Java : Comment écrire et afficher Fibonnaci en Java
Publié: 2020-07-29La suite de Fibonacci tire son nom du mathématicien italien Leonardo Fibonacci. Il a introduit cette série en Europe occidentale avec son livre Liber Abaci en 1202. La scène mathématique indienne avait vu la voie magique de Fibonacci en 200 avant notre ère, comme en témoignent les travaux de Pingala. Cette représentation des nombres occupe également une place particulière dans les sphères du codage et de l'informatique. À la fin de cet explicatif, vous aurez appris à écrire une série de Fibonacci en Java.
La séquence d'entiers commence par 0 et 1, et chaque nombre qui suit est la somme des deux nombres qui le précèdent, par exemple, 0, 1, 1, 2, 3, 5, etc. Il existe deux façons principales de le générer en JavaScript, à savoir (i) en utilisant l'itération, c'est-à-dire sans utiliser la récursivité, et (ii) en utilisant la récursivité. Alors que l'approche itérative prend un temps linéaire pour terminer la tâche, vous obtenez la solution de manière exponentielle avec la technique récursive. Maintenant, plongeons dans les détails de ces méthodes une par une.
Lis : Python vs Javascript Throwdown : Lequel devriez-vous préférer ?
Table des matières
Écrire une série de Fibonacci en Java
Méthode 1 : Sans récursivité
- Pour la boucle
Dans ce cas, vous souhaitez que le programme Java génère les n premiers nombres d'une suite de Fibonacci. Voici un aperçu détaillé du fonctionnement de l'itération de la boucle 'for'.
Tout d'abord, vous initialisez les deux premiers nombres de la série. Ensuite, For Loop additionnera les deux prédécesseurs immédiats et imprimera la valeur. Ce processus se poursuivra jusqu'à ce que les n premiers numéros aient été affichés. Puisque le programme a déjà publié 0 et 1 avant de commencer l'itération, la condition de la boucle For est donnée par n-2.
- Pendant que la boucle
Elle suit une logique similaire à la méthode For Loop mais oblige les programmeurs à être plus prudents dans son application. L'instruction de flux de contrôle de la boucle 'while' exécute le code de manière répétée sur une condition booléenne. Ce n'est que si la condition satisfait ou est vraie que le corps de la boucle est exécuté. De plus, l'expression de mise à jour incrémente la variable de boucle. Inversement, nous sortirons de la boucle while si la condition est évaluée comme fausse.

Lire : Architecture et composants Java expliqués
Observons le code Java ci-dessous pour mieux comprendre la boucle While :
Méthode 2 : Avec récursivité
Lorsque vous écrivez la série de Fibonacci en Java en utilisant la récursivité, la fonction s'appelle elle-même directement ou indirectement. Il s'agit d'une technique de programmation JavaScript de base, et la fonction est connue sous le nom de fonction récursive.
Les algorithmes récursifs peuvent vous aider à résoudre facilement des problèmes complexes. Supposons que vous vouliez imprimer les premiers 'n' nombres de la séquence de Fibonacci en utilisant la récursivité. Vous auriez besoin d'un programme Java récursif pour générer la série requise. Voici l'explication étape par étape d'une telle implémentation :
- L'utilisateur donnerait l'entrée
- For Loop serait appliqué à la boucle jusqu'à ce que chaque itération appelle la fonction qui renvoie le nombre de Fibonacci à la position n. Soit fibonaccinumber (int n)
- Ensuite, la fonction s'appellerait elle-même de manière récursive et ajouterait les deux nombres de Fibonacci précédents
Exemples de séries de Fibonacci
Certains exemples réels de la séquence de Fibonacci incluent les pétales d'une fleur, des pommes de pin, des branches d'arbres, des spirales de coquillages, parmi de nombreuses autres représentations dans la nature. Cette règle du nombre d'or de cette séquence mathématique est inhérente aux caractéristiques les plus fondamentales de l'univers, telles que nos molécules d'ADN et les spirales des galaxies.

Les méthodes itératives et récursives décrites ci-dessus sont des implémentations de la relation de récurrence de la série de Fibonacci. Elle est donnée par : F(n) = F(n-1) + F(n-2). Lorsque nous mettons les valeurs de départ dans cette relation, nous obtenons : F(0) = 0 et F(1) = 1. Pour un nombre donné, n, comment trouverez-vous le n-ième nombre dans une série de Fibonacci ? Considérons ce scénario avec différentes entrées.
- Pour une entrée n=2, la sortie serait 1
- Pour une entrée n=9, le résultat serait 34
Vous pouvez vous appuyer sur ces principes fondamentaux pour écrire une fonction qui renvoie F(n). La fonction peut être donnée par : int fib (int n). La fonction fib() renverra 0 lorsque n = 0. De même, si n = 1, fib() devrait renvoyer 1. Et la sortie devrait être F(n-1) + F (n-2) pour n > 1.
Cas de test pour la fonction fib()
Pour une courte séquence, à savoir. [0, 1, 1, 2, 3, 5, 8,…,55] et fib(5), le résultat serait 5. Donc, nous visons à retourner un élément avec l'indice 5 du tableau de séquence de Fibonacci . Voyons comment cela se déroulera en utilisant la méthode itérative.
- fonction fib(n){
soit tableau = [0,1] ;
pour (soit j = 2; j < n + 1; j ++) {
tableau.push(tableau[j-2] + tableau[j-1])
}
tableau de retour[n]
}
Vous pouvez remarquer que dans l'extrait de code ci-dessus, nous avons attribué la variable de tableau à [0,1] au lieu de créer un tableau vide. La boucle commence à itérer à partir de j = 2 et continue d'ajouter des nombres jusqu'à ce que la longueur du tableau soit n + 1. Et de cette façon, nous renvoyons le nombre à l'indice n. Par conséquent, la sortie serait 3 pour fib (4), 5 pour fib (5), et ainsi de suite.
Si on vous demande de résoudre le même problème en utilisant la récursivité dans une interview, vous pouvez utiliser le cas de base suivant.
- fonction fib(n){
si (n > 2){
retour m
}
retourner fib(n-1) + fib(n-2)
}

Supposons que vous appelez fib() avec l'argument 5. Ici, la fonction fib continuera à créer plus de branches de l'arbre jusqu'à ce qu'elle atteigne le cas de base (la valeur de n est inférieure à 2), après quoi elle commencera à résumer le retour valeurs de chaque branche. Les appels récursifs ne s'arrêteront que lorsqu'un entier égal à 5 sera imprimé.
Avantages des séries de Fibonacci en Java
- Avec un simple programme Javascript, vous pouvez exécuter une série de Fibonacci pour afficher sans effort une série jusqu'à un nombre ou un terme spécifique
- La récursivité fournit un code concis et expressif en Java
- Les algorithmes itératifs fournissent une excellente solution en production car ils sont bornés, gardant le code robuste. En revanche, les algorithmes récursifs conduisent parfois à une erreur de débordement de pile
- La recherche Fibonacci fonctionne dans des tableaux triés et fonctionne mieux que la recherche binaire, principalement lorsque la vitesse d'accès dépend de l'emplacement précédemment consulté
- Connaître la série Fibonacci permet aux étudiants de développer la logique tout en travaillant sur des applications modernes qui exigent diverses fonctionnalités front-end et back-end
Découvrez : Idées de projets Java
Résumé
Dans cet article, nous avons essayé de vous aider à implémenter une série de Fibonacci en Java et à comprendre la logique derrière différentes méthodes. Vous pouvez représenter les nombres de Fibonacci en utilisant la récursivité ou sans récursivité (boucle for et while loop). Après cela, nous avons rafraîchi les concepts de base derrière les deux méthodes et avons également discuté de leurs avantages.
Avec toutes ces informations, vous pouvez rafraîchir vos connaissances sur les algorithmes et écrire un meilleur code. Il serait préférable que vous ayez également une bonne compréhension des structures de données telles que les tableaux, les arbres binaires, les listes chaînées, etc. Utilisez l'article ci-dessus comme point de départ de votre révision et développez vos compétences en programmation !
Si vous souhaitez en savoir plus sur Java, le développement de logiciels à pile complète, consultez le diplôme PG upGrad & IIIT-B en développement de logiciels à pile complète qui est conçu pour les professionnels en activité et offre plus de 500 heures de formation rigoureuse, plus de 9 projets et affectations, statut d'ancien de l'IIIT-B, projets de synthèse pratiques et aide à l'emploi avec les meilleures entreprises.