Python

Comment calculer une factorielle avec Python ?

 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é.

La multiplication X

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.

La factorielle en mathématique

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 :

Démonstration de 0! = 1 :

   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.

Démonstration

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.

La notion de la récursivité

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.

Python et l’application de la récursivité

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.

Calculer la factorielle en python à l’aide de boucles While et for

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.

Calculer la factorielle en utilisant une boucle FOR en Python

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”.

Ecrire un code python qui calcul la factorielle des nombres jusqu’à et les affiche

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 :

Autres articles

Maîtriser l'utilisation de la méthode join en...
La méthode join en Python est un outil puissant pour...
Read more
Comment Gérer Efficacement le Budget Mariage avec...
Télécharger un modèle Excel automatisé de budget mariage automatisé avec...
Read more
Manipulation des Tableaux en Python avec Numpy
Numpy est une bibliothèque puissante et efficace pour la manipulation...
Read more
AZ

Recent Posts

Comment supprimer plusieurs caractères spécifiques dans Excel

Pour supprimer plusieurs caractères spécifiques (par exemple, des symboles, chiffres ou lettres indésirables) dans des…

11 minutes ago

Guide : Types d’Écarts dans Excel et Comment les Calculer

Excel permet de calculer différents types d'écarts selon le contexte, que ce soit pour des…

17 minutes ago

Guide : Comment activer les macros dans Microsoft Excel

Les macros sont des programmes ou des scripts utilisés pour automatiser des tâches dans Excel.…

27 minutes ago

Guide : Calcul de l’Écart-Type dans Excel

L’écart-type est une mesure statistique qui indique la dispersion des données par rapport à leur…

38 minutes ago

Guide : Suivi et Calcul des Écarts sur la Composition des Ventes dans Excel

La composition des ventes fait référence à la répartition des ventes entre différents produits, catégories…

1 heure ago

Guide : Calculer un écart en pourcentage dans Excel

L’écart en pourcentage permet de comparer une valeur réelle par rapport à une valeur attendue,…

1 heure ago

This website uses cookies.