n = int(input())
def factorial(n):
if n == 0:
return 1
return n * factorial(n-1)
print(factorial(n))El Banquete del Rey
bash · c · c++ · go · java · javascript · python · r · rust · typescript
El Rey de MexicoDev está organizando un gran banquete para celebrar a la comunidad. Tiene N platillos únicos y desea saber de cuántas formas distintas puede alinearlos en la mesa de honor.
Para resolver esto, debes calcular el factorial del número N. El factorial de un número entero positivo n se define como el producto de todos los números enteros positivos desde 1 hasta n. Por definición, el factorial de 0 es 1.
Aunque este problema puede resolverse con un ciclo simple, te animamos a implementar una solución utilizando recursividad para practicar esta técnica fundamental.
Entrada
- Una única línea que contiene un número entero
N.
Salida
- Un número entero que represente el resultado de
N!.
Restricciones
0 ≤ N ≤ 12
Ejemplo
3
6
Para 3 platillos (A, B, C), las formas de alinearlos son: ABC, ACB, BAC, BCA, CAB, CBA. El cálculo es 3 × 2 × 1 = 6.
Soluciones de la comunidad
Cada una pasó el 100% de los casos de prueba en el sandbox.
factorial() {
local n=$1
if [ "$n" -le 0 ]; then
echo 1
else
local prev=$(factorial $((n - 1)))
echo $((n * prev))
fi
}
read -r N
factorial "$N"