Maison > Article > développement back-end > Factorielle en C#
Dans cette section, nous verrons la factorielle en c# en détail. La factorielle est un concept très important dans le domaine des mathématiques comme en algèbre ou en mathématiques analytiques. Il est désigné par un signe d'exclamation (!). Factoriel est tout entier positif k, noté k ! C'est le produit de tous les entiers positifs inférieurs ou égaux à k.
k!= k * (k-1) *(k-2) *(k-3) *(k-4) *…….3 *2 * 1.
Logique pour calculer la factorielle d'un nombre donné
Par exemple, si nous voulons calculer la factorielle de 4 alors ce serait,
Exemple n°1
4 ! = 4 * (4-1) *(4-2) * (4-3)
4 ! = 4*3*2*1
4 ! = 24.
Donc la factorielle de 4 est 24
Exemple n°2
6 ! = 6 * (6-1)* (6-2)* (6-3) * 6-4)* (6-5)
6 ! = 6*5*4*3*2*1
6 ! = 720
Donc la factorielle de 6 est 720
De même, en utilisant cette technique, nous pouvons calculer la factorielle de tout entier positif. Le point important ici est que la factorielle de 0 est 1.
0 ! =1.
Il y a de nombreuses explications à cela comme pour n ! où n=0 signifie produit d'aucun nombre et il est égal à l'entité multiplicative. {displaystyle {binom {0}{0}}={frac {0!}{0!0!}}=1.}
La fonction factorielle est principalement utilisée pour calculer les permutations et les combinaisons et également utilisée en binôme. À l’aide de la fonction factorielle, nous pouvons également calculer la probabilité. Par exemple, de combien de manières pouvons-nous organiser k éléments. Nous avons k choix pour la première chose, donc pour chacun de ces k choix, nous sommes partis avec k-1 choix pour les secondes choses (car le premier choix a déjà été fait), de sorte que maintenant nous avons k(k-1) choix , donc maintenant, pour le troisième choix, nous avons k(k-1)(k-2) choix et ainsi de suite jusqu'à ce qu'il en reste un sur ce qui reste. Donc au total nous aurons k(k-1)(k-2)(k-3)…3..1.
Un autre exemple en temps réel est supposé que nous allons à un mariage et que nous voulons choisir quel blazer prendre. Supposons donc que nous ayons k blazers et que nous ayons de la place pour emballer le seul n. Alors de combien de façons pouvons-nous utiliser n blazers d'une collection de k blazers k!/(n!.(k-n)!).
Vous trouverez ci-dessous les exemples montrant comment nous pouvons calculer la factorielle de n'importe quel nombre de différentes manières,
1. Dans ces exemples, la boucle for est utilisée pour calculer la factorielle d'un nombre.
Code :
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Factorial { class Program { static void Main() { int a = 7; int fact = 1; for (int x = 1; x <= a; x++) { fact *= x; } Console.WriteLine(fact); Console.ReadLine(); } } }
Dans cet exemple, la variable de type de données entier est initialisée et la boucle for est utilisée pour calculer le nombre.
Sortie :
2. Dans cet exemple, l'utilisateur est autorisé à saisir le nombre pour calculer la factorielle.
Code :
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace FactorialExample { class Program { static void Main() { Console.WriteLine("Enter the number: "); int a = int.Parse(Console.ReadLine()); int fact = 1; for (int x = 1; x <= a; x++) { fact *= x; } Console.WriteLine(fact); Console.ReadLine(); } } }
Sortie :
1. Dans ces exemples, la boucle for est utilisée pour calculer la factorielle d'un nombre.
Code :
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Factorial { class Program { static void Main() { int a = 10; int fact = 1; while (true) { Console.Write(a); if (a == 1) { break; } Console.Write("*"); fact *= a; a--; } Console.WriteLine(" = {0}", fact); Console.ReadLine(); } } }
Sortie :
2. Dans ces exemples, la boucle while est utilisée pour calculer la factorielle d'un nombre.
Code :
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace FactorialExample { class Program { static void Main() { Console.WriteLine("Enter the number: "); int a = int.Parse(Console.ReadLine()); int fact = 1; while(true) { Console.Write(a); if(a==1) { break; } Console.Write("*"); fact *= a; a--; } Console.WriteLine(" = {0}", fact); Console.ReadLine(); } } }
Sortie :
1. Dans cet exemple, do-while est utilisé pour calculer la factorielle d'un nombre.
Code :
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Factorial { class Program { static void Main() { int a = 6; int fact = 1; do { fact *= a; a--; } while (a > 0); Console.WriteLine("Factorial = {0}", fact); Console.ReadLine(); } } }
Sortie :
2. Dans cet exemple, do-while est utilisé pour calculer la factorielle d'un nombre.
Code :
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace FactorialExample { class Program { static void Main() { Console.Write("Enter the number: "); int a = int.Parse(Console.ReadLine()); int fact = 1; do { fact *= a; a--; } while (a > 0); Console.WriteLine("Factorial = {0}", fact); Console.ReadLine(); } } }
Sortie :
1. Dans cet exemple, une fonction récursive est utilisée pour calculer la factorielle d'un nombre.
Code :
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Factorial { class Program { static void Main() { int n= 5; long fact = Fact(n); Console.WriteLine("factorial is {1}", n, fact); Console.ReadKey(); } private static long Fact(int n) { if (n == 0) { return 1; } return n * Fact(n - 1); } } }
Dans l'exemple ci-dessus, la factorielle d'un nombre est obtenue en utilisant la récursivité. L'idée derrière la récursion est de résoudre le problème dans de petites instances. Ainsi, chaque fois qu’une fonction crée une boucle et s’appelle elle-même, cela s’appelle récursivité.
Sortie :
2. Dans cet exemple, une fonction récursive est utilisée pour calculer la factorielle d'un nombre.
Code :
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace FactorialExample { class Program { static void Main() { Console.WriteLine("Enter the number"); int n = Convert.ToInt32(Console.ReadLine()); long fact = Fact(n); Console.WriteLine("factorial is {1}", n, fact); Console.ReadKey(); } private static long Fact(int n) { if (n == 0) { return 1; } return n * Fact(n - 1); } } }
Sortie :
Le concept de factorielle est donc très important dans des domaines mathématiques tels que les binômes, les permutations et les combinaisons, et c'est ainsi que nous pouvons imprimer la factorielle de n'importe quel nombre en utilisant plusieurs méthodes telles que pour, pendant que, pendant que, fonction , etc.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!