Permutaciones con repetición
Cuente secuencias ordenadas en las que los símbolos pueden repetirse: 5 símbolos en 3 posiciones dan 125 posibilidades, 5^3, la misma regla del producto que hay detrás de códigos y contraseñas. Gratis en su navegador.
- Gratis
- Funciona en su navegador
- Sin registro
- Sus datos no salen de su equipo
Ejecutar — gratis
Ejemplo resuelto
- Número de símbolos distintos
- 5
- Resistencia (Ω)
- 3
- Valor
- 125
- Cantidad
- 125
Las permutaciones con repetición responden a una pregunta de conteo sencilla: si dispone de n símbolos distintos y forma secuencias ordenadas de longitud r en las que el mismo símbolo puede aparecer más de una vez, ¿cuántas secuencias existen? La regla del producto multiplica n opciones en cada una de las r posiciones, de modo que el total es exactamente n elevado a la potencia r. Esa fórmula aparece en espacios de contraseñas, códigos PIN, coloreados de cadenas de longitud fija, muestreo con reemplazo y un sinfín de problemas de matemática discreta en los que la respuesta debe ser un entero exacto y no una aproximación en coma flotante. Esta capacidad acepta un entero positivo n (el tamaño del alphabet) y un entero no negativo r (la longitud de la secuencia) y devuelve el conteo exacto como cadena decimal calculada con aritmética BigInt, de forma que valores muy por encima de los límites habituales de enteros seguros siguen siendo correctos dígito a dígito. Las entradas con n inferior a uno o con r negativo se rechazan con un error de validación claro en lugar de una respuesta errónea silenciosa.
Cómo se definen las permutaciones con repetición
Una selección ordenada de r posiciones a partir de n símbolos con repetición permitida es cualquier secuencia s1, s2, …, sr en la que cada si pertenece a un conjunto fijo de tamaño n. Como el orden importa y los símbolos pueden repetirse, la primera posición tiene n opciones, la segunda vuelve a tener n opciones, y así en cada posición hasta r. El principio fundamental del conteo multiplica esas elecciones independientes en n × n × … × n, que es n elevado a la potencia r.
Cuando r vale cero existe exactamente una secuencia vacía, en consonancia con la convención algebraica de que cualquier n positivo elevado a la potencia cero es igual a uno. Esto difiere de las permutaciones sin repetición, que prohíben la reutilización y dan el factorial decreciente n × (n − 1) × … × (n − r + 1), y de las combinaciones, que ignoran el orden.
Comprobaciones clásicas de libro incluyen dos símbolos de longitud tres que dan ocho secuencias, cinco símbolos de longitud dos que dan veinticinco, y diez símbolos de longitud cero que dan uno. Esta implementación nunca usa potencias en coma flotante, logaritmos aproximados ni muestreo: calcula la potencia entera exacta con exponentiación binaria BigInt para que cada dígito sea correcto. El recorrido es plenamente determinista —sin semillas aleatorias, sin relojes, sin red y sin deriva de modelo—, de modo que el mismo n y r siempre producen la misma cadena.
Dónde aparece el conteo n elevado a r en el trabajo real
Los equipos de seguridad y de producto estiman espacios de contraseñas o PIN tratando cada posición de carácter como una elección en un alphabet de tamaño n y longitud r, que es exactamente el conteo de permutaciones con repetición n elevado a r; los enteros exactos ayudan a comparar la fuerza de los esquemas sin aproximaciones logarítmicas.
Los concursos de programación y los cursos de matemática discreta piden a menudo el número de palabras de longitud r sobre un alphabet de n letras, el coloreado de r cuentas con n colores cuando el orden importa y los colores pueden repetirse, o las funciones de un conjunto de tamaño r en un conjunto de tamaño n —todas iguales a n elevado a r.
Los pipelines de datos y muestreo que modelan extracciones ordenadas con reemplazo necesitan el mismo producto al dimensionar espacios muestrales o validar montajes de Monte Carlo frente a un total analítico. Educadores y preparación de entrevistas suelen mostrar una tabla breve de valores pequeños de n y r; calcular el conteo en una sola llamada mantiene las demostraciones interactivas alineadas con libros de texto y claves de respuesta.
Si más adelante necesita permutaciones sin repetición, combinaciones con o sin repetición, o el listado de las tuplas reales en lugar del conteo, trátelos como intenciones de búsqueda separadas en lugar de sobrecargar esta página.
Qué puede hacer con ella
Tamaño del espacio de contraseñas y PIN
Calcule espacios exactos n^r de alphabet para códigos de longitud fija y compare tamaños de esquema sin aproximaciones logarítmicas en coma flotante.
Muestreo y conteo de funciones
Dimensionar espacios muestrales ordenados con reemplazo y contar funciones de r posiciones en n símbolos para revisiones de diseño.
Preguntas frecuentes
¿Qué son las permutaciones con repetición?
Son secuencias ordenadas de longitud r tomadas de n símbolos en las que el mismo símbolo puede aparecer más de una vez. El conteo total es exactamente n elevado a la potencia r.
¿En qué se diferencian de las permutaciones sin repetición?
Sin repetición cada símbolo puede usarse como máximo una vez, lo que da el factorial decreciente n×(n−1)×…×(n−r+1). Con repetición se permite la reutilización, así que el conteo es n^r.
¿Qué ocurre si n es menor que 1 o r es negativo?
Esta calculadora exige n ≥ 1 y r ≥ 0; los límites inválidos se rechazan y no se cobran.
¿Por qué el conteo es una cadena en lugar de un número?
Las potencias superan con rapidez los enteros seguros de JavaScript. Las cadenas decimales conservan cada dígito exacto para valores grandes de n^r.
¿Cuánto cuesta?
La herramienta del navegador es gratuita y se ejecuta en local.
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/permutations-with-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/combo/permutations-with-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/combo/permutations-with-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/combo/permutations-with-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/combo/permutations-with-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": "combo.permutations_with_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
min_n | 1 |
max_n | 10000 |
min_r | 0 |
max_r | 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
La herramienta gratuita del navegador y la API de pago comparten una sola función pura, de modo que las demostraciones de aula y los pipelines automatizados nunca divergen sobre el mismo par.
Cómo se definen las permutaciones con repetición
Los límites declarados mantienen n entre uno y diez mil y r entre cero y diez mil para que la latencia en el peor caso sea adecuada a una herramienta gratuita en el navegador y a una ruta Worker ligera, cubriendo aún las necesidades de concursos, aula y pipelines para conteos grandes exactos.
Qué envía usted y qué recibe a cambio
El conteo de símbolos n debe ser un entero de uno a diez mil inclusive; la longitud r debe ser un entero de cero a diez mil inclusive. Los mensajes de error nombran el campo ofensivo y la regla incumplida para que clientes de formulario y scripts puedan corregir la entrada sin adivinar. En caso de éxito la respuesta incluye siempre el n y r normalizados, count y value como la misma cadena decimal exacta de n elevado a r, y una cadena formula breve como cinco caret tres para la visualización. Proporcione un entero obligatorio n bajo el campo n (aliases symbols o alphabet) y un entero obligatorio r bajo el campo r (aliases length o k). Los campos ausentes, los no enteros, los decimales, n inferior a uno y cualquier r negativo se rechazan con invalid_input y no se cobran. Comprobaciones de ejemplo: n igual a dos y r igual a tres produce count ocho; n igual a cinco y r igual a dos produce count veinticinco; n igual a diez y r igual a cero produce count uno; n igual a uno y r igual a cualquier longitud válida produce count uno; n igual a cero produce invalid_input porque el tamaño del alphabet es inferior a uno; r igual a menos uno produce invalid_input. El precio de las llamadas API exitosas es la base publicada de $0.002 por elemento; los fallos de validación no consumen saldo prepago.
Dónde aparece el conteo n elevado a r en el trabajo real
Como esta capacidad es un motor de parse puro, el precio de la API es la base publicada de $0.002 por elemento exitoso y la validación fallida no consume saldo.
Casos de integración
Fixtures de concursos y deberes
Genere conteos exactos ordenados con repetición para problemas de olimpiada, ejercicios de matemática discreta y claves de respuesta automatizadas.