L’algorithme de Fibonacci en Java
Dans la suite de Fibonacci, 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.
La séquence de Fibonacci: 0, 1, 1, 2, 3, 5, 8, 13, 21, etc …
Il existe deux manières pour écrire le programme de la suite de Fibonacci en java:
- Suite de Fibonacci sans utiliser la récursivité
- Suite de Fibonacci avec l’utilisation de la récursivité
Méthode 1: Suite de Fibonacci en utilisant la boucle « for »
public class SuiteFibonacciMethod1{
public static void main(String args[])
{
int nbr1=0, nbr2=1, nbr3, i, count=10;
//afficher 0 et 1
System.out.print(nbr1+" "+nbr2);
//La boucle commence par 2 car 0 et 1 sont deja affiches
for(i=2; i<count; ++i)
{
nbr3 = nbr1 + nbr2;
nbr1 = nbr2;
nbr2 = nbr3;
System.out.print(" "+nbr3);
}
}
}
public class SuiteFibonacciMethod1{
public static void main(String args[])
{
int nbr1=0, nbr2=1, nbr3, i, count=10;
//afficher 0 et 1
System.out.print(nbr1+" "+nbr2);
//La boucle commence par 2 car 0 et 1 sont deja affiches
for(i=2; i<count; ++i)
{
nbr3 = nbr1 + nbr2;
nbr1 = nbr2;
nbr2 = nbr3;
System.out.print(" "+nbr3);
}
}
}
public class SuiteFibonacciMethod1{ public static void main(String args[]) { int nbr1=0, nbr2=1, nbr3, i, count=10; //afficher 0 et 1 System.out.print(nbr1+" "+nbr2); //La boucle commence par 2 car 0 et 1 sont deja affiches for(i=2; i<count; ++i) { nbr3 = nbr1 + nbr2; nbr1 = nbr2; nbr2 = nbr3; System.out.print(" "+nbr3); } } }
La sortie:
0 1 1 2 3 5 8 13 21 34
Méthode 2: Suite de Fibonacci avec l’utilisation de la récursivité
public class SuiteFibonacciMethod2{
static int nbr1=0;
static int nbr2=1;
static int nbr3=0;
static void displayFibonacci(int c){
if(c > 0){
nbr3 = nbr1 + nbr2;
nbr1 = nbr2;
nbr2 = nbr3;
System.out.print(" "+nbr3);
displayFibonacci(c-1);
}
}
public static void main(String args[]){
int c = 10;
//print 0 and 1
System.out.print(nbr1+" "+nbr2);
//deduire 2 car 0 et 1 sont deja affiches
displayFibonacci(c-2);
}
}
public class SuiteFibonacciMethod2{
static int nbr1=0;
static int nbr2=1;
static int nbr3=0;
static void displayFibonacci(int c){
if(c > 0){
nbr3 = nbr1 + nbr2;
nbr1 = nbr2;
nbr2 = nbr3;
System.out.print(" "+nbr3);
displayFibonacci(c-1);
}
}
public static void main(String args[]){
int c = 10;
//print 0 and 1
System.out.print(nbr1+" "+nbr2);
//deduire 2 car 0 et 1 sont deja affiches
displayFibonacci(c-2);
}
}
public class SuiteFibonacciMethod2{ static int nbr1=0; static int nbr2=1; static int nbr3=0; static void displayFibonacci(int c){ if(c > 0){ nbr3 = nbr1 + nbr2; nbr1 = nbr2; nbr2 = nbr3; System.out.print(" "+nbr3); displayFibonacci(c-1); } } public static void main(String args[]){ int c = 10; //print 0 and 1 System.out.print(nbr1+" "+nbr2); //deduire 2 car 0 et 1 sont deja affiches displayFibonacci(c-2); } }
La sortie:
0 1 1 2 3 5 8 13 21 34
je satisfait de la réponse que je cherche. j’aimerai m’inscrire.