Permutación sin repetición
Elegir y ordenar 3 de 5 elementos admite 60 órdenes distintos, el valor de P(5,3). Indique cuántos elementos distintos tiene y cuántos puestos quiere llenar, y obtendrá el recuento exacto sin reutilizar ninguno. Gratis en su navegador.
- Gratis
- Funciona en su navegador
- Sin registro
- Sus datos no salen de su equipo
Ejecutar — gratis
Ejemplo resuelto
- N
- 5
- Resistencia (Ω)
- 3
- Cantidad
- 60
- Notación
- P(5,3)
Cuando se alinean personas, se asignan premios con rango o se elige una contraseña a partir de caracteres únicos, el orden importa y ningún elemento puede reutilizarse. Esa situación es una permutación sin repetición: el número de formas de disponer r elementos distintos elegidos entre n disponibles. El recuento cerrado es el factorial de n dividido por el factorial de n menos r, a menudo escrito P(n,r) o nPr. Esta calculadora evalúa ese entero exacto para enteros no negativos n y r. Si r supera a n, o si alguna entrada no es un entero no negativo, la solicitud falla con un error de validación claro.
Qué cuenta una permutación sin repetición
Una permutación sin repetición es una secuencia ordenada de longitud r construida con n elementos distintos en la que cada elemento puede aparecer como máximo una vez. El orden forma parte de la identidad del resultado: ABC y ACB son dos disposiciones distintas aunque usen las mismas tres letras.
La forma cerrada clásica es P(n,r) igual al factorial de n dividido por el factorial de n menos r, que se expande al producto descendente n por (n menos uno) y por cada entero siguiente más pequeño hasta (n menos r más uno).
Historias de aula que encajan en este modelo incluyen elegir presidente, vicepresidente y secretario en un club de n miembros, alinear a r clasificados de un campo de n atletas, asignar primer, segundo y tercer premio cuando esos rangos son distintos, o rellenar r posiciones únicas de contraseña a partir de un alfabeto de n símbolos no usados. Cuando r es igual a n el producto es el factorial completo n!, porque cada elemento aparece una vez en cada ordenación completa.
Cuando r es cero el producto está vacío y el recuento es uno por convención, coincidiendo con la única secuencia vacía. Las combinaciones C(n,r) responden a otra pregunta: ignoran el orden y dividen P(n,r) por r!. Las permutaciones con repetición responden a una tercera: permiten reutilizar y crecen como n elevado a r.
Si su problema prohíbe reutilizar y trata la secuencia como significativa, necesita el recuento sin repetición que devuelve esta herramienta, no esos dos vecinos.
Dónde se usa, se tarifa y se entrega el recuento sin repetición
Utilice la herramienta del navegador cuando desee un P(n,r) exacto e inmediato al estudiar matemática discreta, comprobar una respuesta de concurso o explicar el muestreo sin reposición sin instalar un sistema de álgebra computacional. Los índices aceptados van de cero a diez mil, de modo que las demostraciones de aula y los filtros combinatorios siguen siendo factibles sin crecimiento ilimitado de memoria en productos patológicos. Los resultados son plenamente deterministas: los mismos n y r siempre producen los mismos campos de recuento, notación y fórmula.
No hay modelo de lenguaje, ni servicio aritmético externo, ni aleatoriedad, por lo que la capacidad es segura para fijarse en comprobaciones de integración continua y materiales de clase reproducibles.
Qué puede hacer con ella
Verificación de deberes y concursos
Estudiantes y evaluadores confirman P(n,r) en el muestreo ordenado sin reposición, incluidos los extremos P(n,0)=1 y P(n,n)=n!.
Dimensionado del espacio muestral sin reposición
Los scripts de probabilidad que modelan extracciones ordenadas sin reutilizar pueden invocar un oráculo nPr determinista en lugar de reimplementar productos BigInt en cada lenguaje.
Enseñar orden frente a reutilización
Las páginas de lección que contrastan permutaciones sin repetición con n^r (con repetición) y con combinaciones pueden mostrar el producto descendente exacto junto a la regla de dominio r ≤ n.
Preguntas frecuentes
¿Cómo se cuentan las permutaciones sin repetición?
Envíe los campos enteros n y r. La respuesta devuelve count = n! /(n−r)!, más la notación como P(5,3) y la cadena de la fórmula factorial.
¿Cuál es la fórmula de una permutación sin repetición?
P(n,r) es igual al factorial de n dividido por el factorial de (n−r), es decir el producto descendente n×(n−1)×…×(n−r+1). El orden importa y ningún elemento se reutiliza.
¿Qué ocurre si r es mayor que n?
Una permutación sin repetición no está definida cuando r supera a n, porque no se pueden seleccionar más elementos distintos de los que existen.
¿Es gratuita la calculadora de permutación sin repetición?
La herramienta del navegador se ejecuta gratis en su dispositivo.
¿En qué se diferencia de las permutaciones con repetición?
Sin repetición cada elemento puede usarse como máximo una vez, de modo que el recuento es n! /(n−r)! y r no puede superar a n. Con repetición los elementos pueden reutilizarse y el recuento es n^r.
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/stat/permutation-without-repetition \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"n":5,"r":3}'const res = await fetch("https://api.kit.forhosting.com/stat/permutation-without-repetition", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"n": 5,
"r": 3
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/stat/permutation-without-repetition",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"n": 5,
"r": 3
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/stat/permutation-without-repetition", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"n":5,"r":3}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"n":5,"r":3}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/stat/permutation-without-repetition", 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,
"r": 3
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "stat.permutation_without_repetition",
"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 la calculadora n! / (n − r)! y valida n y r
El motor comprueba que ambos valores estén presentes como enteros finitos no negativos como máximo el límite superior publicado de diez mil. Para pares aceptados la implementación multiplica factores BigInt desde n hacia abajo exactamente r pasos, que es exactamente el factorial de n sobre el factorial de n menos r sin materializar nunca dos factoriales completos y dividir. La respuesta también devuelve n y r, una cadena de notación como P abierto cinco coma tres cerrado, y una cadena de fórmula con la forma factorial del mismo par. Los casos límite son explícitos: cualquier n tomado cero veces vale uno, y n tomado n veces vale el factorial de n. Envíe un cuerpo JSON con los campos enteros obligatorios n y r. Si r es mayor que n la solicitud falla de inmediato con invalid_input, porque no se pueden elegir más elementos de los que existen cuando la repetición está prohibida, y esa llamada fallida no se cobra. Campos ausentes, no enteros, negativos y valores por encima del límite también fallan con invalid_input nombrando el campo culpable. 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 alto por redondeo en coma flotante.
Dónde se usa, se tarifa y se entrega el recuento sin repetición
Utilice la API cuando un script, corrector de deberes, plataforma de preparación de entrevistas o página de lección necesite JSON estable para muchos pares bajo un solo contrato. Cada solicitud exitosa es un ítem facturable a $0.002; la validación fallida no consume saldo. Conecte el endpoint a demostraciones de combinatoria, entornos de entrevista de código, tutoriales de probabilidad que necesiten tamaños de espacio muestral para extracciones ordenadas sin reposición, planificadores de asientos, generadores de premios con rango, o pasos de preprocesamiento entero donde ya prefiera aritmética exacta de permutaciones frente a heurísticas aproximadas o widgets opacos de terceros que no puedan mostrar la estructura del producto ni la restricción de dominio cuando r supera a n.