// Algorithmes de Factoriel en C#

 

        // Fonction de factoriel récursive

        public static double factorielRecursif(int n)

        {

            if (n > 1) return n * factorielRecursif(n - 1);

            else return 1;

        }

 

        // Fonction de factoriel récursive méthode 2

        public static double factorielRecursif1(int n)

        {

            if (1 < n) return n * factorielRecursif1(n - 1);

            else return 1;

        }

 

        // Fonction de factoriel par une boucle While et une décrémentation

        public static double factoBoucleWhile(double n)

        {

            double res = 1;

            while (n > 1) res *= n--;

            return res;

        }

 

        // Fonction de factoriel par une boucle While et une incrémentation

        public static double factoBoucleWhile2(double n)

        {

            double res = 1;

            double i = 1;

            while (i < n) res *= i++;

            return res;

        }

 

        // Fonction de factoriel par une boucle For et une décrémentation

        public static double factoBoucleFor(double n)

        {

            double resultat = 1;

            for (double i = n; i > 1; i--)resultat *= i;

            return resultat;

        }

 

        // Fonction de factoriel par boucle For et une incrémentation

        public static double factoBoucleFor2(double n)

        {

            double resultat = 1;

            for (double i = 1; i < n; i++) resultat *= i;

            return resultat;

        }