Skip to content
Reto #4Básico 2 resolvieronAbierto

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

Entrada
3
Salida
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.

Alanpython+5 karma
n = int(input())
def factorial(n):
    if n == 0:
        return 1
    return n * factorial(n-1)
print(factorial(n))
bash+5 karma
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"
InicioEventosBlogRecursosCursosEquipo