Calculadora de desarreglos
Cuente las reordenaciones en las que nada queda en su sitio: 5 personas que sortean un amigo secreto tienen 44 sorteos en los que nadie se toca a sí mismo, que es !5. Gratis en su navegador.
- Gratis
- Funciona en su navegador
- Sin registro
- Sus datos no salen de su equipo
Ejecutar — gratis
Ejemplo resuelto
- N
- 5
- Desarreglos
- 44
- Notación
- !5
Un desarreglo es una permutación de n elementos en la que ninguno ocupa su posición original: el clásico problema del guardarropa, el amigo invisible sin autoasignaciones y las barajas que evitan cartas fijas piden el mismo recuento. Ese recuento es el subfactorial ! n, también escrito d(n) o D_n. Esta calculadora evalúa ! n con la recurrencia determinista ! 0 igual a uno, ! 1 igual a cero, y para todo n mayor el valor es n menos uno por la suma de los dos subfactoriales anteriores, implementada con BigInt para que las respuestas de aula y de entrevista permanezcan exactas. Un n negativo se rechaza con un error de validación claro porque la sucesión solo está definida para enteros no negativos.
Qué cuentan los desarreglos y cuándo importa el subfactorial
Un desarreglo de un conjunto finito es una biyección sin puntos fijos: cada elemento se mueve. El número de tales permutaciones de un conjunto de n elementos es el subfactorial ! n. La historia que hizo famoso el concepto es el problema del guardarropa: n invitados depositan n sombreros y cada uno recibe un sombrero al azar; ¿de cuántas formas puede cada invitado recibir un sombrero equivocado?
Los sorteos de amigo invisible, los planes de asientos que prohíben a todos su silla habitual y los problemas de programación que piden permutaciones sin índices fijos son el mismo objeto combinatorio bajo distintos nombres. La sucesión comienza con ! 0 igual a uno por la convención del producto vacío, !
1 igual a cero porque un solo elemento no puede moverse, ! 2 igual a uno, ! 3 igual a dos, !
4 igual a nueve y ! 5 igual a cuarenta y cuatro. Para n grande la razón !
n sobre n! se acerca a uno sobre e, por eso los cursos de probabilidad citan que una permutación aleatoria es un desarreglo con probabilidad cercana al treinta y siete por ciento. Los factoriales completos cuentan todas las permutaciones, incluidas las que tienen puntos fijos; las permutaciones P(n,r) cuentan muestras ordenadas de tamaño r; las combinaciones ignoran el orden por completo. Si su pregunta es concretamente de cuántas formas nada queda en su sitio, necesita el subfactorial, no esas otras herramientas.
Esta capacidad devuelve solo ese recuento ordenado sin puntos fijos para que quien busque una calculadora de desarreglos o de subfactorial encuentre la fórmula que realmente necesita.
Cómo evalúa esta calculadora !n y valida la entrada
El motor comprueba que n esté presente como entero finito no negativo como máximo el límite superior publicado de diez mil. Para un n aceptado la implementación recorre la recurrencia desde los casos base: comienza con ! 0 igual a uno y !
1 igual a cero, y luego para cada k de dos hasta n asigna ! k igual a k menos uno por la suma de ! k menos uno y !
k menos dos, usando aritmética BigInt en todo momento. Esa recurrencia es algebraicamente equivalente a la forma de inclusión-exclusión ! n igual a n factorial por la suma alternada de factoriales recíprocos, pero la recurrencia nunca necesita división en coma flotante ni materializa un factorial completo.
La respuesta también devuelve n, una cadena de notación como exclamación cinco, y una nota breve de fórmula que describe la recurrencia o el caso base. Los casos límite son explícitos: ! 0 es uno y !
Uso práctico, límites, precios y entrega
Use la herramienta del navegador cuando desee un ! n exacto inmediato mientras estudia matemática discreta, comprueba una respuesta de concurso o explica el problema del guardarropa sin instalar un sistema de álgebra computacional. Los índices aceptados van de cero a diez mil para que las demos de aula y los filtros combinatorios sigan siendo factibles sin crecimiento de memoria ilimitado en productos patológicos.
Los resultados son plenamente deterministas: el mismo n siempre produce el mismo valor de desarreglos, la misma notación y los mismos campos de fórmula. No hay modelo de lenguaje, ni servicio aritmético externo ni aleatoriedad, de modo que la capacidad es segura para fijarla en comprobaciones de integración continua y materiales de clase reproducibles.
Conecte el extremo a demos de combinatoria, entornos de entrevista de programación, tutoriales de probabilidad que necesiten el tamaño del espacio muestral sin puntos fijos, o pasos de preprocesado entero donde ya prefiera aritmética exacta de subfactorial frente a heurísticas aproximadas basadas en e o a calculadoras opacas de caja negra que no puedan mostrar la estructura de la recurrencia ni la restricción de dominio cuando n es negativo.
Qué puede hacer con ella
Verificación de deberes y concursos
Estudiantes y evaluadores confirman !n en problemas del guardarropa y del amigo invisible sin un sistema de álgebra local, incluidos los casos base !0=1 y !1=0.
Dimensionado del espacio muestral sin puntos fijos
Las tuberías que modelan desarreglos aleatorios pueden llamar a un oráculo determinista de subfactorial en lugar de reimplementar la recurrencia BigInt en cada lenguaje.
Enseñar desarreglos frente a permutaciones completas
Las páginas de lección que contrastan n! con !n pueden mostrar recuentos exactos junto a la recurrencia para que el alumnado relacione la notación subfactorial con las permutaciones sin puntos fijos.
Preguntas frecuentes
¿Cuál es la fórmula del subfactorial !n?
Los casos base son ! 0=1 y ! 1=0. Para n≥2, ! n=(n−1)(!( n−1)+!( n−2)). De forma equivalente ! n=n×!( n−1)+(−1)^n. El recuento es el número de permutaciones sin puntos fijos.
¿Qué ocurre si n es negativo?
Los desarreglos solo están definidos para enteros no negativos; esas llamadas no se cobran.
¿Es gratuita la calculadora de desarreglos?
La herramienta del navegador se ejecuta gratis en su dispositivo.
¿En qué se diferencian los desarreglos de las permutaciones ordinarias?
El factorial n! cuenta todas las permutaciones de n elementos. El subfactorial ! n cuenta solo las que no tienen puntos fijos. Para n grande, ! n/n! se acerca a 1/e ≈ 0.3679.
¿Qué probabilidad hay de que una mezcla al azar no deje nada en su sitio?
Para n grande se acerca a uno entre e, cerca del treinta y siete por ciento. Es el subfactorial !n dividido entre n!, el total de ordenaciones posibles de los mismos elementos.
Herramientas relacionadas
Para desarrolladores — acceso por API
Todo lo de esta página está disponible por programación. Esta sección es para equipos que quieren integrarlo en sus sistemas; el resto puede usar la herramienta de arriba sin más.
Endpoint de API
¿Prefiere automatizarlo? Un POST autenticado crea la tarea; el resultado llega por webhook o enlace firmado. La misma capacidad también se ejecuta aquí en la web, por email y desde Telegram — y pronto también desde nuestra app.
Llámela desde su stack
curl -X POST https://api.kit.forhosting.com/combo/derangement \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"n":5}'const res = await fetch("https://api.kit.forhosting.com/combo/derangement", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"n": 5
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/combo/derangement",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"n": 5
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/combo/derangement", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"n":5}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"n":5}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/combo/derangement", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Ejemplo de solicitud
{
"n": 5
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "combo.derangement",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}La API es asíncrona: la llamada devuelve un task_id al instante y el resultado llega por webhook. El polling está limitado a 1 req/s por tarea.
Precio
Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.
Límites
max_n | 10000 |
Errores
| HTTP | Código | Significado |
|---|---|---|
401 | unauthorized | API key ausente o inválida. |
402 | insufficient_balance | El saldo no cubre el precio de la tarea. |
404 | unknown_type | El tipo de tarea no existe. |
429 | rate_limited | Demasiadas peticiones. Use el webhook en vez de sondear. |
Notas técnicas
Cómo evalúa esta calculadora !n y valida la entrada
Envíe un cuerpo JSON con el campo entero obligatorio n. Si n es negativo la petición falla de inmediato con invalid_input citando esa regla de dominio, y la llamada no se cobra. Los campos ausentes, los no enteros, los valores no finitos y los que superan el límite también fallan con invalid_input. El producto se devuelve como número JSON cuando cabe en el rango de enteros seguros; en caso contrario como cadena decimal para que los clientes no pierdan dígitos de orden superior.
Uso práctico, límites, precios y entrega
Use la API cuando un script, un corrector de deberes, una plataforma de preparación de entrevistas o un sitio educativo necesite JSON estable para muchos valores bajo un único contrato. Cada petición exitosa es un ítem facturable a $0.002; la validación fallida no consume saldo.
Preguntas técnicas
¿Cómo calculo el número de desarreglos de n con esta API?
Envíe un cuerpo JSON con el campo entero n a combo.derangement. La respuesta devuelve derangements, notación como !5 y una nota breve de fórmula para la recurrencia.