Python Programa para encontrar el factorial de un número

Factorial de un número usando for Loop

Tomemos como ejemplo un código de Python que toma un entero positivo como entrada para determinar el factorial de números enteros positivos. En el código siguiente, el bucle comienza con uno y luego multiplica por cada número que precede al número real cuyo factorial se va a determinar.

El siguiente código de Python ilustra la función factorial utilizando un bucle.

Python código:

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)

Salida:

Input a number
4
The factorial of the number is 24

El programa de Python anterior solo acepta números positivos como entrada y no tiene una verificación de números negativos. En este programa, el factor es 1 cuando j es igual a 1. Cuando j es 2, el factor se multiplica por 2 y se realizará la acción hasta que j llegue a 4 para llegar a 24.

Factorial de un número usando la declaración IF...else

El siguiente código de Python ilustra la función factorial utilizando la función. Tomemos el siguiente código de Python que toma números enteros positivos como entrada para determinar el factorial de números enteros positivos.

En el código Python anterior, no se aplicaba la verificación de números negativos, lo que hacía que la función factorial estuviera incompleta y fuera propensa a generar un mensaje de error si se ingresaban números negativos.

En el código dado, el ciclo comienza con uno y luego se multiplica por cada número que precede al número real cuyo factorial se va a determinar, y la función también busca números negativos.

Python código:

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))

Salida:

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

Lo anterior programa Python para encontrar factorial de un número Solo acepta la entrada de números positivos y tiene una verificación de números negativos mediante las declaraciones if y else de Python. En este programa, el factor es 1 cuando j es igual a 1. Cuando j es 2, el factor se multiplica por 2 y realizará la acción hasta que j llegue a 4 para llegar a 24.

Factorial de un número usando recursividad

El siguiente código de Python ilustra la función factorial mediante recursión. Tomemos el siguiente código de Python que toma números enteros positivos como entrada para determinar el factorial de números enteros positivos. En este ejemplo, una función recursiva determina el número factorial.

Python código:

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))

Producción: -

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

La recursividad se puede explicar como un concepto en el que la función invocada en el módulo de Python puede llamarse a sí misma una y otra vez. Se ejecuta hasta el momento en que se cumple la condición de Python presente en el módulo de Python, donde la función invocada se pasa con valor.

En el programa Python anterior, la función número def factorial sigue llamándose a sí misma de forma recursiva hasta que el número llegue a cero. Una vez que el número llega a cero, lo inicializa como 1, finalizando la recursividad.

Factorial de un número usando matemáticas. factorial()

El siguiente código de Python ilustra la función factorial usando math.factorial(), que se puede utilizar importando el módulo math.

Esta función no acepta números enteros negativos y genera un mensaje de error de valor cuando se proporcionan números de coma flotante. Tomemos el siguiente código de Python que toma números enteros positivos como entrada para determinar el factorial de números enteros positivos.

Python código:

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))

Producción: -

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

Algoritmo para el Programa Factorial en Python

Tomemos un ejemplo que ilustra el concepto de factorial.

Para determinar el factorial 5, siga los siguientes pasos: –

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

¡Aquí, 5! se expresa como 120.

El siguiente diagrama ayuda a comprender el algoritmo de cálculo factorial y, en este caso, ¡tomemos un ejemplo de factorial 4!

Algoritmo para el programa factorial
¡Algoritmo con ejemplo pictórico de factorial 4!

Aplicación del Factorial en Python

El factorial de un número tiene un amplio nivel de aplicaciones en matemáticas. Aquí hay aplicaciones importantes de Python:

  • Python ayuda en el cálculo, seguido de la impresión factorial en términos más rápidos y eficientes que otros lenguajes de programación disponibles.
  • El código Python es fácilmente comprensible y se puede replicar en diferentes plataformas, y el programa factorial Python se puede incorporar en varias tareas de construcción de modelos matemáticos.

Resum

  • El factorial de un número puede describirse como el producto o multiplicación de todos los números enteros positivos iguales o menores que el número para el cual se determina el producto o factorial.
  • Hay tres formas en las que se puede ejecutar el factorial de un número en Python.
    1. Cálculo factorial usando For Loop
    2. Cálculo factorial mediante recursividad.
    3. Uso de la función definida por el usuario
  • El factorial de un número se determina para un número entero no negativo y los resultados siempre son números enteros positivos.
  • Por excepción a la regla, un factorial cero está en 1.
  • El factorial de un número tiene un amplio nivel de aplicaciones en matemáticas.

Conozca nuestro próximo tutorial sobre Intercambiar dos números sin utilizar una tercera variable