Python Programme pour trouver la factorielle d'un nombre

โšก Rรฉsumรฉ intelligent

Factorielle d'un nombre dans Python est le produit de tous les entiers positifs jusqu'ร  ce nombre. Python le calcule ร  l'aide d'une boucle for, d'une vรฉrification if-else, de la rรฉcursivitรฉ ou de la fonction intรฉgrรฉe math.factorial().

  • (I.e. Pour la boucle: Itรฉrer de 1 ร  n, en multipliant un produit cumulรฉ pour construire la factorielle.
  • โ˜‘๏ธ vรฉrification if-else : Attention aux entrรฉes nรฉgatives : une erreur doit รชtre renvoyรฉe car les factorielles nรฉcessitent des entiers non nรฉgatifs.
  • โœ… Rรฉcursivitรฉ : Une fonction s'appelle elle-mรชme avec n-1 jusqu'ร  atteindre le cas de base de 0.
  • ๐Ÿงช math.factorielle() : Importez les fonctions mathรฉmatiques et appelez une fonction intรฉgrรฉe pour obtenir un rรฉsultat rapide et รฉprouvรฉ.
  • ๏ธ Cas limites : La factorielle de 0 est รฉgale ร  1, et Python Gรจre nativement les rรฉsultats trรจs volumineux.
  • ๐Ÿค– IA et science des donnรฉes : Les probabilitรฉs, la combinatoire et des bibliothรจques comme SciPy utilisent les factorielles sur les tableaux.

Python Programme pour trouver la factorielle d'un nombre

Les sections ci-dessous prรฉsentent quatre faรงons de calculer une factorielle. Python โ€” une boucle for, une version if-else, la rรฉcursivitรฉ et math.factorial() โ€” ainsi que l'algorithme sous-jacent et ses applications.

Factorielle d'un nombre utilisant la boucle for

Prenons l'exemple de Python Ce code prend un entier positif en entrรฉe et calcule la factorielle des entiers positifs. Dans le code suivant, la boucle commence par 1, puis multiplie par chaque nombre qui prรฉcรจde l'entier dont on souhaite calculer la factorielle.

Python Le code illustre la fonction factorielle ร  l'aide d'une boucle.

Python code:

print ("Input a number")
factorialIP = int (input ())
ffactor23 = 1
for j in range (1, factorialIP+1):
   ffactor23 = ffactor23 * j
print ("The factorial of the number is โ€œ, ffactor23)

Sortie :

Input a number
4
The factorial of the number is 24

Le dessus Python Ce programme n'accepte que des nombres positifs et ne gรจre pas les nombres nรฉgatifs. Dans ce programme, le facteur est รฉgal ร  1 lorsque j vaut 1. Lorsque j vaut 2, le facteur est multipliรฉ par 2, et ainsi de suite jusqu'ร  ce que j atteigne 4, pour arriver ร  24.

Factorielle d'un nombre ร  l'aide de l'instruction IFโ€ฆelse

Python Ce code illustre la fonction factorielle ร  l'aide d'une fonction. Contrairement ร  la version avec boucle, ce programme vรฉrifie รฉgalement si les nombres sont nรฉgatifs avant de calculer la factorielle.

Dans le prรฉcรฉdent Python Dans ce code, la vรฉrification des nombres nรฉgatifs n'a pas รฉtรฉ appliquรฉe, ce qui rend la fonction factorielle incomplรจte et susceptible de gรฉnรฉrer un message d'erreur si des nombres nรฉgatifs sont fournis en entrรฉe.

Dans le code donnรฉ, la boucle commence par un et multiplie par chaque nombre prรฉcรฉdent, et la fonction valide รฉgalement l'entrรฉe pour les nombres nรฉgatifs.

Python code:

print("Enter a number for the purpose of determining factorial")
factorialIP = int(input())
def factorial(factorialIP):
   if factorialIP < 0:
     print ('Factorial does not exist')
     factor=0
     return factor
   elif factorialIP == 0:
     factor=1
     return factor
     print(factor)
   else:
     factor = 1
     for j in range (1, factorialIP+1):
       factor = factor * j
     return factor
  print ("The factorial of the number is ", factorial(factorialIP))

Sortie :

1) Enter a number to determine factorial
   -4
   Factorial does not exist
   The factorial of the number is 0

2) Enter a number to determine factorial
   4
   Factorial does not exist
   The factorial of the number is 24

Ce Python Le programme accepte les nombres positifs et ajoute une vรฉrification pour les nombres nรฉgatifs ร  l'aide de l'instruction if et else, renvoyant correctement 24 pour une entrรฉe de 4.

Factorielle d'un nombre utilisant la rรฉcursivitรฉ

Python Le code illustre la fonction factorielle ร  l'aide de la rรฉcursivitรฉ. Dans cet exemple, une fonction rรฉcursive prenant un entier positif en entrรฉe calcule la factorielle.

Python code:

print("Enter a number for the purpose of determining factorial")
def factorial(num2):
  if num2 < 0:
    return 'Factorial does not exist'
  elif num2 == 0:
     return 1
  else:
     return num2 * factorial(num2-1)
number1 = int(input())
print("The factorial of the number is",factorial(number1))

Sortie :

Enter a number for the purpose of determining factorial
4
The factorial of the number is 24

La rรฉcursivitรฉ peut รชtre expliquรฉe comme un concept dans lequel la fonction invoquรฉe dans la Python Le module peut s'appeler lui-mรชme indรฉfiniment. Il s'exรฉcute jusqu'ร  ce queโ€ฆ Python La condition prรฉsente dans le module est satisfaite, la fonction appelรฉe recevant une valeur.

Au dessus Python Dans ce programme, la fonction `def factorial` s'appelle rรฉcursivement tant que le nombre n'atteint pas zรฉro. Une fois zรฉro, elle l'initialise ร  1, mettant ainsi fin ร  la rรฉcursion.

Factorielle d'un nombre avec math.factorial()

Python Le code illustre la fonction factorielle ร  l'aide de math.factorial(), qui peut รชtre utilisรฉe en important le module math.

Cette fonction n'accepte pas les entiers nรฉgatifs et gรฉnรจre une erreur de valeur lorsque des nombres flottants sont fournis.

Python code:

print("Enter a number for computing factorial")
import math
number1 = int(input())
print("The factorial is as computed comes out to be ")
print(math.factorial(number1))

Sortie :

Enter a number for computing factorial
4
The factorial, as computed, comes out to be 24

Algorithme pour le programme factoriel dans Python

Prenons un exemple qui illustre la notion de factorielle.

Pour dรฉterminer la factorielle de 5, suivez ces รฉtapes :

5! = 5 x (5-1) x (5-2) x (5-3) x (5-4)
5! =120

Ici, 5 ! est exprimรฉ par 120.

Le schรฉma suivant aide ร  comprendre l'algorithme de calcul factoriel, et dans ce cas, prenons un exemple de factorielle 4 !

Algorithme pour le programme factoriel

Algorithme avec exemple illustrรฉ de factorielle 4 !

Application de la factorielle dans Python

La factorielle d'un nombre a un large niveau d'applications en mathรฉmatiques. Voici des applications importantes de Python:

  • Python facilite les calculs, notamment l'affichage de la factorielle plus rapidement et plus efficacement qu'avec d'autres langages de programmation disponibles.
  • Le Python Le code est facilement comprรฉhensible et peut รชtre reproduit sur diffรฉrentes plateformes, et la factorielle Python Ce programme peut รชtre intรฉgrรฉ ร  plusieurs projets de modรฉlisation mathรฉmatique.

FAQ

La factorielle d'un entier non nรฉgatif n, notรฉe n!, est le produit de tous les entiers positifs de 1 ร  n. Par exemple, 5! est รฉgal ร  5 โ€‹โ€‹ร— 4 ร— 3 ร— 2 ร— 1 = 120.

Par dรฉfinition, la factorielle de 0 est 1. Chaque mรฉthode โ€” boucle, rรฉcursion ou math.factorial() โ€” renvoie 1 pour une entrรฉe de 0, et ce cas de base arrรชte รฉgalement les appels rรฉcursifs.

Oui. Python Les entiers ont une prรฉcision illimitรฉe ; ainsi, math.factorial(100) renvoie un rรฉsultat ร  158 chiffres sans dรฉpassement de capacitรฉ. Seuls la mรฉmoire et le temps d'exรฉcution augmentent avec la taille de l'entrรฉe.

A pour la boucle est gรฉnรฉralement prรฉfรฉrรฉ. Les deux mรฉthodes s'exรฉcutent en O(n), mais la boucle utilise une mรฉmoire constante, tandis que la rรฉcursivitรฉ ajoute une pile d'appels qui peut atteindre une valeur critique. Pythonlimite de rรฉcursion de .

Chaque mรฉthode standard nรฉcessite nโˆ’1 multiplications, sa complexitรฉ temporelle est donc de O(n). La boucle itรฉrative utilise un espace mรฉmoire de O(1), tandis que la rรฉcursivitรฉ utilise un espace mรฉmoire de O(n) pour sa pile d'appels.

La rรฉcursivitรฉ profonde peut dรฉpasser PythonLa limite par dรฉfaut est d'environ 1000 appels. Utilisez une boucle for itรฉrative ou math.factorial() pour les grandes entrรฉes, ou augmentez la limite avec sys.setrecursionlimit().

Oui. Les factorielles interviennent en combinatoire et dans les distributions de probabilitรฉ comme la loi de Poisson et la loi binomiale, qui sous-tendent de nombreux modรจles d'apprentissage automatique. Les bibliothรจques de science des donnรฉes proposent รฉgalement des fonctions vectorisรฉes pour calculer les factorielles des tableaux.

Oui. GitHub Copilot et les assistants IA similaires gรฉnรจrent des versions de boucles, de fonctions rรฉcursives et de fonctions factorielles ร  partir d'une brรจve invite. Consultez toujours la suggestion concernant la protection contre les nombres nรฉgatifs et le cas de base 0!.

Rรฉsumez cet article avec :