Combinaciones con repetición
Cuente selecciones en las que cada tipo puede repetirse y el orden no importa: 3 elecciones entre 5 tipos dan 35, es decir, C(7, 3), el mismo recuento de estrellas y barras para repartir objetos idénticos. 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 tipos distintos
- 5
- Resistencia (Ω)
- 3
- Cantidad
- 35
- N más r menos 1
- 7
- N máximo
- 500
- R máximo
- 500
Esta calculadora de combinaciones con repetición devuelve cuántos multiconjuntos distintos de tamaño r puede formar a partir de n tipos, cuando cada tipo puede elegirse más de una vez y el orden no importa. Comprobaciones pequeñas que quizá ya conozca incluyen cinco tipos y tres selecciones, que dan treinta y cinco; tres tipos y dos selecciones, que dan seis; y cualquier n válido con cero selecciones, que da uno para la selección vacía. El motor usa únicamente aritmética binomial determinista con BigInt: sin llamadas de red, sin muestreo y sin atajos que dependan de la fecha.
Qué significan las combinaciones con repetición y qué contiene la respuesta
Las combinaciones con repetición cuentan selecciones sin orden donde el mismo tipo puede aparecer más de una vez. Eso es distinto de las combinaciones ordinarias C(n, r), que prohíben la reutilización, y distinto de las permutaciones, que sí importan el orden. Formalmente, el recuento es C(n + r − 1, r) para n positivo y r no negativo; de forma equivalente, C(n + r − 1, n − 1).
Estrellas y barras interpretan el mismo número como el número de formas de colocar r elementos indistinguibles en n contenedores distinguibles, razón por la cual la herramienta es útil tanto para la combinatoria pura como para problemas aplicados de conteo, como la distribución de unidades idénticas entre categorías.
Esta calculadora devuelve los n y r solicitados, el recuento exacto como una cadena decimal, el índice superior intermedio n más r menos uno, una cadena de fórmula breve como C(7, 3), y los máximos publicados para que los clientes puedan validar antes de enviar un lote.
Dónde encajan las combinaciones de multiconjunto en el estudio, el código y el modelado
Los estudiantes encuentran las combinaciones con repetición cuando un libro de texto las contrasta con las combinaciones ordinarias, cuando un ejercicio de estrellas y barras pide soluciones no negativas a una ecuación diofántica lineal, o cuando necesitan un recuento limpio de multiconjuntos de un tamaño fijo. Los docentes pueden generar de antemano claves de respuestas para valores modestos de n y r, sin depender de aplicaciones de calculadora opacas que redondean enteros grandes o cambian en silencio a notación científica.
Los desarrolladores llaman al mismo contrato desde scripts para sembrar vectores de prueba deterministas, para dimensionar modelos de inventario o de tipo coleccionista de cupones que permiten categorías repetidas, o para satisfacer enunciados de retos de programación que exigen el valor exacto de multichoose en lugar de una aproximación en espacio logarítmico. La práctica de concursos a menudo necesita una fuente rápida y sin conexión de rangos de combinaciones de multiconjunto, para poder verificar soluciones sin descargar tablas de OEIS bajo presión de tiempo.
Los analistas de producto y operaciones usan el recuento al estimar cuántas cestas de pedido distintas de tamaño r pueden surgir a partir de n SKU, si la cantidad por SKU no tiene límite y el orden de listado no importa.
Qué puede hacer con ella
Tareas y verificación de estrellas y barras
Consulte valores exactos de C(n+r−1, r) para ejercicios de libro de texto sobre combinaciones de multiconjunto y recuentos de soluciones enteras no negativas.
Dimensionado de inventario y cestas
Cuente selecciones distintas sin orden de r elementos de n tipos cuando se permite la repetición, para escenarios de producto o de modelado.
Preguntas frecuentes
¿Cuánto cuesta la calculadora de combinaciones con repetición?
Es gratis en su navegador, en esta página.
¿Cómo se define el recuento?
El número de formas de elegir r elementos de n tipos, permitiendo repetición y sin importar el orden, es C(n+r−1, r).
¿Es esto lo mismo que las combinaciones ordinarias C(n, r)?
No. Las combinaciones ordinarias prohíben repetir un tipo. Esta herramienta permite la repetición (combinaciones de multiconjunto / multichoose).
¿Por qué el resultado es una cadena en lugar de un número?
Los coeficientes binomiales pueden superar los enteros seguros de JavaScript.
¿Cuál es el máximo de tipos y de elecciones que admite?
Admite hasta 500 tipos y hasta 500 elecciones. Ese límite mantiene cada resultado exacto y rápido, aunque estos recuentos crecen muy deprisa con valores grandes.
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/combinations-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/combinations-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/combinations-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/combinations-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/combinations-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.combinations_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
max_n | 500 |
max_r | 500 |
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 forma cerrada clásica es n más r menos uno elegir r, escrita C(n+r−1, r), también conocida como multichoose, combinaciones de multiconjunto, o el recuento por estrellas y barras de soluciones enteras no negativas a x_1 + … + x_n = r.
Qué significan las combinaciones con repetición y qué contiene la respuesta
No hay una ruta aproximada en coma flotante presentada como verdad, ni muestreo aleatorio de subconjuntos: el motor construye el producto binomial exacto dentro del rango admitido, o rechaza la entrada con invalid_input. Los casos rechazados incluyen la falta de n o r, valores que no son enteros, fracciones, notación científica, valores por encima de los límites documentados, n por debajo de uno, y cualquier r negativo.
Cómo se leen n y r, y cómo BigInt mantiene cada dígito exacto
Se permiten signos más iniciales opcionales; los espacios incrustados, los prefijos hexadecimales, los signos negativos donde están prohibidos, y la notación exponencial se rechazan con un mensaje claro, para que una celda incorrecta no se convierta en un recuento erróneo. Cero para r es válido y devuelve uno, coincidiendo con las convenciones de producto vacío y selección vacía usadas en matemática discreta. El cálculo usa la fórmula multiplicativa de BigInt para C(a, b): multiplica factores sucesivos (a − i) / (i + 1) para i desde cero hasta el menor de b y a − b, de modo que los valores intermedios se mantengan exactos sin construir factoriales completos que desperdiciarían tiempo y memoria. Los campos preferidos son n para el número de tipos y r para cuántos elementos seleccionar, pero se aceptan los alias types y kinds para n, y k y count para r, de modo que hojas de cálculo, cadenas de consulta y formularios tipados puedan reutilizar el mismo contrato. El motor impone máximos estrictos de quinientos tanto en n como en r, lo que mantiene la memoria y la latencia dentro de un presupuesto predecible en la ruta gratuita del navegador y en el Worker de borde, aunque los coeficientes binomiales crecen rápidamente. Cada valor intermedio es un BigInt, y el recuento final se serializa con toString para que el JSON nunca pierda dígitos como lo harían los dobles IEEE después del bit cincuenta y tres. Combine la ejecución gratuita en el navegador de esta página con la API de pago cuando necesite el mismo resultado matemático dentro de un pipeline automatizado sin tener que reimplementar usted mismo estrellas y barras.
Dónde encajan las combinaciones de multiconjunto en el estudio, el código y el modelado
En esta página el trabajo se ejecuta enteramente en su navegador; a través de la API cada consulta exitosa cuesta $0.002, la validación fallida no se cobra, y nada se almacena después de que se devuelve la respuesta. Esa separación —exploración interactiva gratuita y una API de pago idéntica— coincide con el resto del catálogo tier A del KIT y le permite pasar de una demostración de aula a un pipeline automatizado sin cambiar el resultado matemático. Combínela con herramientas de factorial o binomiales cuando necesite coeficientes relacionados, con contadores de permutaciones cuando el orden importa, y con otros endpoints matemáticos cuando esté construyendo un pequeño laboratorio de ayudantes de combinatoria gratuitos y deterministas.
Casos de integración
Fixtures de prueba deterministas
Genere cadenas decimales reproducibles de multichoose para pruebas unitarias, verificaciones de propiedades y aserciones de integración continua, sin mantener tablas a mano.
Preguntas técnicas
¿Qué ocurre si n es menor que 1 o r es negativo?
Ambos casos se rechazan con invalid_input. n debe ser al menos 1 y r debe ser no negativo.