Bienvenue dans ce tutoriel Python où nous allons vous montrer comment calculer la factorielle d’un nombre entier “n” en utilisant à la fois des boucles et la récursivité.
Depuis votre enfance, vous avez développé des compétences en multiplication et trouvé du plaisir dans les calculs. Au fur et à mesure que vous progressez dans les mathématiques, la notion de factorielle se dévoilera davantage.
La multiplication implique de réaliser de multiples calculs et répétitions.
La factorielle est différente, elle crée une boucle infinie lorsque le calcul atteint zéro.
En mathématiques, le terme “factorielle” fait référence au produit d’un nombre entier positif par tous les nombres entiers positifs qui sont égaux ou inférieurs à ce nombre donné.
Pour exprimer cette notion mathématique de manière plus formelle :
N ! = N × (N – 1) × (N – 2) × … × 3 × 2 × 1
Donc
4 ! = 4x3x2x1 = 24
En d’autres termes, calculer la factorielle d’un nombre consiste à effectuer une multiplication en utilisant tous les entiers de ce nombre jusqu’à 1 comme facteurs.
Il est essentiel de noter qu’en mathématiques la factorielle de 0, symbolisée par “0 !”, est par convention égale à 1. Cette règle est fondamentale pour rendre plus simples de nombreuses opérations mathématiques, en particulier lorsqu’il s’agit d’explorer des notions liées aux combinaisons et aux permutations.
0! = 1 ;
n! = n x (n – 1) !; où n > 0
Nous pouvons démontrer les deux énoncés comme suit :
La factorielle de 0 est définie comme 0! = 1 par convention. C’est une règle de base en mathématiques pour éviter des problèmes dans divers calculs. Si nous n’admettions pas 0! = 1, cela entraînerait des incohérences dans certaines formules mathématiques.
On va démontrer que n! = n x (n – 1)! où n > 0 :
Prenons un entier positif n quelconque. La factorielle de n, notée n!, est définie comme le produit de tous les entiers de 1 à n. Cela peut être formulé de la manière suivante :
n! = 1 x 2 x 3 x … x n
Maintenant, si nous retirons n de cette équation, nous obtenons la factorielle de (n-1) :
(n – 1)! = 1 x 2 x 3 x … x (n – 1)
Si nous multiplions ces deux équations, nous obtenons :
n! x (n – 1)! = (1 x 2 x 3 x … x n) x (1 x 2 x 3 x … x (n – 1))
Si nous simplifions cette équation, nous avons :
n! x (n – 1)! = 1 x 2 x 3 x … x n x (n – 1)
Et cela est équivalent à :
n! x (n – 1)! = n x (1 x 2 x 3 x … x (n – 1))
En d’autres termes :
n! = n x (n – 1)!
Cela démontre que pour tout entier positif n, n! est égal à n multiplié par la factorielle de (n – 1).
La factorielle est fréquemment employée dans une branche des mathématiques connue sous le nom d’analyse combinatoire. En effet, si vous avez suivi des cours au lycée, vous êtes probablement familier avec le concept de factorielle.
En mathématique:
De manière simplifiée, le calcul de la factorielle d’un nombre “n” consiste à remonter au calcul de la factorielle de “n-1” jusqu’à ce que l’on atteigne un point d’arrêt connu, qui est la factorielle de 0. En effet, cette approche est particulièrement bénéfique pour résoudre certains problèmes qui présentent une nature intrinsèquement récursive, ainsi que pour travailler avec des structures de données récursives telles que des listes et des arbres.
En programmation, on applique la récursivité. Cette approche est une technique de programmation où vous “appelez” la même fonction de manière répétée jusqu’à atteindre la solution souhaitée.
Pour qu’une fonction soit utilisée de manière répétée, il est essentiel que la fonction renvoie son propre appel. Par exemple :
Le résultat de factorial(4) est 24.
La méthode:
Afin de réaliser le calcul du produit : 1*2*3*…*(n-1) * n, nous développons un programme en Python qui interagit avec l’utilisateur pour obtenir un nombre entier, puis effectue le calcul de sa factorielle.
Les entrées
L’utilisateur sera invité à fournir un nombre entier et positif, que nous stockerons dans la variable “nombre”.
Nous stockons ce produit dans la variable “résultat”. Initialement, nous attribuons la valeur 1 à la variable “résultat”.
Nous allons maintenant utiliser une variable “count” comme compteur. En réalité, à chaque itération de la boucle WHILE, cette variable sera incrémentée de 1. À l’intérieur de la boucle while, nous multiplions “result” par “count” puisque “count” prendra les valeurs 1, 2, 3, …, jusqu’au nombre donné.
Lorsque “count” atteindra le nombre donné, la boucle WHILE devrait s’arrêter. Par conséquent, la condition du test WHILE devrait être la suivante : “count <= numero”, n’est-ce pas ?
Pour rappeler brièvement, il est important de noter que “résultat *= nombre” est équivalent à “résultat = résultat * nombre”. En d’autres termes, la nouvelle valeur de “résultat” est le produit de l’ancienne valeur par “nombre”.
De plus, “count += 1” signifie essentiellement “count = count + 1”. En d’autres termes, à chaque itération de la boucle WHILE, nous augmentons la valeur de “count” de 1.
La logique est essentiellement la même, car tout ce qu’une boucle WHILE peut accomplir, une boucle FOR le peut aussi, et vice versa. Cependant, le choix entre les deux dépend souvent de la situation.
La méthode
Dans ce cas précis, il est préférable d’utiliser une boucle FOR.
Pour résumer, l’idée est la suivante : nous devons effectuer plusieurs multiplications, allant de 1 jusqu’à la valeur saisie par l’utilisateur, “nombre”. C’est une plage allant de 1 à “nombre”.
La fonction de plage Python, qui est idéale pour être utilisée avec la boucle FOR, s’avère précieuse.
Pour créer une plage allant de 1 au nombre souhaité, nous utilisons simplement “range(1, nombre+1)”.
Les entrées :
Ce code demande à l’utilisateur de saisir un nombre entier, puis calcule sa factorielle en utilisant une boucle FOR et affiche le résultat.
Voici le code Python pour calculer la factorielle d’un nombre que vous avez fourni en utilisant une boucle FOR :
Ainsi, la condition du test WHILE doit être formulée comme suit : “count <= numero”.
Après avoir saisi la définition de la factorielle, nous examinons à présent le code Python complet pour calculer la factorielle des nombres jusqu’à 10.
Ce code utilise une fonction calcul factorielle pour calculer la factorielle d’un nombre donné. Ensuite, il itère à travers les nombres de 1 à 10, calcule leurs factorielles, et les affiche.
En exécutant ce code, nous obtiendrons le résultat suivant :
Pour supprimer plusieurs caractères spécifiques (par exemple, des symboles, chiffres ou lettres indésirables) dans des…
Excel permet de calculer différents types d'écarts selon le contexte, que ce soit pour des…
Les macros sont des programmes ou des scripts utilisés pour automatiser des tâches dans Excel.…
L’écart-type est une mesure statistique qui indique la dispersion des données par rapport à leur…
La composition des ventes fait référence à la répartition des ventes entre différents produits, catégories…
L’écart en pourcentage permet de comparer une valeur réelle par rapport à une valeur attendue,…
This website uses cookies.