Introducción a Factorial en Python
Para un entero positivo, Python en factorial significa un producto de todos los enteros que se enumeran por debajo e igual al entero especificado. El valor factorial de un número explícito generalmente se representa como n !. la fórmula detrás del producto de estos enteros se puede representar usando la fórmula a continuación,
¡norte! = n * (n-1) * (n-2) * (n-3) * (n-4) * (n-5) * (n-6) * (n-7) *. . . . . . . * 1
Ej: 20! = 20 * 19 * 18 * 17 * 16 * 15 * 14 * 13 * 12 * 11 * 10 * 9 * 8 * 7 * 6 * 5 * 4 * 3 * 2 * 1 = 2432902008176640000
norte | n ! |
0 0 | 1 |
1 | 1 |
2 | 2 |
3 | 6 6 |
4 4 | 24 |
5 5 | 120 |
6 6 | 720 |
7 7 | 5 040 |
8 | 40 320 |
9 9 | 362 880 |
10 | 3 628 800 |
11 | 39 916 800 |
12 | 479 001 600 |
13 | 6 227 020 800 |
14 | 87 178 291 200 |
15 | 1.30767E + 12 |
dieciséis | 2.09228E + 13 |
17 | 3.55687E + 14 |
18 años | 6.40237E + 15 |
19 | 1.21645E + 17 |
20 | 2.4329E + 18 |
Técnicas de Factorial en Python
Técnica # 1 - Programa Factorial
Código:
# Python program to determine the value of factorial for a given number
# modifying the value keyed in will produce a different result
Number = int(input(" Enter the number for which factorial value to be determined : "))
factorial = 1
# to verify that the given number is greater than zero incase it is less than zero then the
# message stated below will be printed
if Number < 0:
print(" ! ! ! ! ! Factorial value cannot be intended for negative integers ! ! ! ! ! ")
# The default factorial value for zero is one and this is printed here
elif Number == 0:
print(" ! ! ! ! 1 is the factorial value 0 ! ! ! ! ")
else:
# For loop to handle the factorial calculation
for i in range(1, Number + 1):
factorial = factorial*i
print("The factorial value for the ", Number, "is", factorial)
Salida:
Explicación: El programa calcula el factorial de un número utilizando la técnica de bucle, aquí el valor entero específico para el que debe calcularse el valor factorial se ingresa en la variable 'Número'. Junto a la variable 'Factorial' se inicializa con el valor 1. La primera verificación realizada es determinar si el valor clave es un entero positivo. Esto se debe a que el valor factorial para un entero negativo no se puede calcular. entonces la verificación está implícita de tal manera que el valor ingresado es mayor que cero. Además, si el valor tecleado es igual a cero, se imprime el valor factorial para cero, que es uno. En la siguiente instancia, el factorial para un valor dado está determinado por la siguiente fórmula que se ejecuta en un bucle con el valor del iterador incrementado en uno.
factorial = factorial*i
El rango de este bucle se mantiene entre 1 y un valor mayor que el número que se está ingresando. Al final de la última ejecución, se imprime el valor del factorial.
Técnica # 2 - Programa Factorial
Código:
# Python program to determine the value of factorial for a given Number
# modifying the value keyed in will produce a different result
# Function through which factorial is achieved
def factorial(Number):
"""Factorial of a number is calculated through the below mentioned recursive function"""
if Number == 1:
return Number
else:
return Number * factorial(Number - 1)
# Number for which the factorial has to be determined
Number = int(input(" Enter the Number for which factorial value to be determined : "))
# to verify that the given Number is greater than zero in case it is less than zero then the
# message stated below will be printed
# An error message will be returned if the keyed in input is negative.
# elif an error message will be returned if the keyed in input is zero.
# else user defined function is used for calculating the factorial
if Number < 0:
print( " ! ! ! ! ! Factorial value cannot be intended for negative integers ! ! ! ! !" )
elif Number == 0:
print( " ! ! ! ! 1 is the factorial value 0 ! ! ! ! " )
else:
print("Factorial value for the ", Number, " is: ", factorial(Number))
Salida:
Explicación: El programa calcula el factorial de un número usando una técnica de invocación de función recursiva, aquí el valor para el cual se debe determinar el factorial se ingresa en la variable 'Número'. El valor 1 se inicializa en la variable factorial. La primera comprobación realizada es determinar si el valor tecleado es un entero positivo. Esto se debe a que el valor factorial para un entero negativo no se puede calcular. entonces la verificación está implícita de tal manera que el valor ingresado es mayor que cero. Además, si el valor tecleado es igual a cero, se imprime el valor factorial para cero, que es uno. En la siguiente instancia, el factorial para un valor dado está determinado por la siguiente fórmula que se ejecuta recursivamente,
Number * factorial(Number - 1)
La ejecución recursiva por proceso significa una técnica a través de la cual el bucle de una instancia de codificación determinada se logra manualmente. Esta técnica implica llamar a una función dada dentro de la misma función y esta llamada se encapsula dentro de una condición if dada. Entonces, esta encapsulación permite que se invoque la función hasta que se cumpla la condición dada.
Conclusión
Estos programas están implicados para verificar si el palíndromo dado de un valor entero dado. Usando los programas anteriores, cualquier valor numérico dado puede ser evaluado con éxito por su valor factorial. los programas están implicados usando dos técnicas muy diferentes, como la llamada a funciones recursivas y el proceso de bucle habitual. desde una perspectiva estándar, ambas técnicas no difieren en gran medida y son métodos de programación muy aceptados.
Artículo recomendado
Esta ha sido una guía de Factorial en Python. Aquí discutimos Introducción a Factorial en Python y diferentes técnicas del programa factorial con Ejemplo. También puede consultar nuestros otros artículos sugeridos para obtener más información:
- Patrones en Python
- Ventajas de Python
- Marcos de Python
- Compiladores de Python
- Guía de Factorial en PHP
- Factorial en Java (con métodos)
- Iterador en Python | Beneficios de Python