/* Calcul de Fib(n) par methode sequentielle */ /* - Fib(0) = 0 */ /* - Fib(1) = 1 */ /* - Fib(n) = Fib(n-1)+Fib(n-2) */ public class FibonacciSequentiel { ///////////////////////////////////////////////// /* Fonction de calcul et retour */ /* de Fib(n) par methode sequentielle */ /* Définition: */ /* - Fib(0) = 0 */ /* - Fib(1) = 1 */ /* - Fib(n) = Fib(n-1)+Fib(n-2) */ /* n : valeur pour laquelle Fib(n) est calculé */ static long fib(int n) { long res; long a; long b; switch (n) { case 0 : case 1 : { res = n; } break; default : { res = 0; a = 0; b = 1; for ( int i = 2 ; i <= n ; i++ ) { res = a+b; a = b; b = res; } } break; } return res; } ///////////////////////////////////////////////// /* Programme principal */ public static void main(String [] args) { int n; long fibn; Ecran.afficher("Valeur ? "); n = Clavier.saisirInt(); fibn = fib(n); Ecran.afficherln("Fib(",n,") = ",fibn); } }