Calculadora de combinaciones
Sepa de cuántas formas puede elegir elementos cuando el orden no importa: 3 libros cualesquiera de 10 para un fin de semana dan 120 selecciones distintas, C(10,3), y el resultado es exacto aunque sea enorme. Gratis en su navegador.
- Gratis
- Funciona en su navegador
- Sin registro
- Sus datos no salen de su equipo
Ejecutar — gratis
Ejemplo resuelto
- Total de elementos (≥0)
- 10
- Resistencia (Ω)
- 3
- Cantidad
- 120
El coeficiente binomial responde a una pregunta de conteo sencilla: dados n elementos distintos, ¿de cuántas maneras puede elegir un subconjunto de tamaño r cuando el orden no importa? Esa cantidad se escribe C(n,r), n elige r o nCr, y es igual al factorial de n dividido por el factorial de r por el factorial de (n menos r). Esta capacidad evalúa esa fórmula con aritmética BigInt para que los coeficientes grandes permanezcan exactos en lugar de desbordar el punto flotante o los límites de enteros seguros.
Qué significa n elige r y por qué importa BigInt
Las combinaciones cuentan selecciones sin orden. Si tiene diez libros y quiere cualesquiera tres para una bolsa de fin de semana, el número de bolsas distintas es C(10,3), que se expande a factorial de diez entre factorial de tres por factorial de siete e iguala ciento veinte. El orden no importa: elegir el libro A, luego B y luego C es la misma combinación que C, B y A; por eso las combinaciones son menores que las permutaciones con el mismo n y r.
La forma factorial clásica es fácil de escribir pero desastrosa de evaluar de forma ingenua para n grandes, porque n! crece más rápido de lo que puede contener cualquier tipo entero de ancho fijo mucho antes de que la razón final sea moderada. Por ello esta herramienta multiplica y divide en un bucle reducido—equivalente a construir el producto (n−r+1)…n sobre 1…r—usando JavaScript BigInt para que todo intermedio sea exacto y el conteo final se devuelva como cadena decimal.
La simetría C(n,r)=C(n,n−r) reduce el bucle a min(r,n−r) pasos. Ese contrato coincide con los manuales de combinatoria y con los jueces de concursos de programación, de modo que puede confiar en el número frente a cálculos a mano para n pequeños y frente a tablas conocidas para n mayores sin deriva de punto flotante ni envoltura silenciosa.
Cómo calcular sus combinaciones y leer el resultado
El campo n es el número total de elementos distintos—el índice superior del coeficiente binomial—y debe ser un entero de cero a diez mil. El campo r es cuántos elementos elige—el índice inferior—y debe ser un entero de cero a n. Una respuesta exitosa devuelve n y r como números, count como cadena decimal del valor binomial exacto, y formula como la cadena C(n,r)=n!
/(r!( n-r)!) para que los clientes puedan mostrar o registrar la identidad sin codificarla a mano. Úselo desde calificadores de deberes, validadores de concursos, sandboxes de preparación de entrevistas, trabajos de enriquecimiento de hojas de cálculo, demos de probabilidad que necesiten C(n,k) para probabilidades binomiales, o cualquier flujo que necesite un conteo de combinaciones reproducible sin instalar paquetes de multiprecisión en cada máquina del pipeline.
Qué puede hacer con ella
Validadores de concursos de programación y entrevistas
Compruebe soluciones candidatas de problemas de conteo de combinaciones sin reimplementar aritmética binomial de multiprecisión en cada harness de lenguaje.
Demos de probabilidad y montaje de modelos binomiales
Obtenga valores exactos de C(n,k) al construir tablas de probabilidad binomial o enseñar combinatoria, de modo que los denominadores sigan exactos antes de cualquier paso de probabilidad en flotante.
Preguntas frecuentes
¿Qué es n elige r (el coeficiente binomial)?
C(n,r) cuenta de cuántas maneras elegir r elementos de n distintos cuando el orden no importa. Es igual a n! / (r! × (n−r)!).
¿Por qué el conteo se devuelve como cadena?
Los coeficientes grandes superan los enteros seguros de JavaScript. Una cadena decimal conserva el valor exacto para todo n admitido sin pérdida de precisión.
¿Qué ocurre si r es mayor que n o es negativo?
Aquí las combinaciones solo se definen para 0 ≤ r ≤ n con enteros no negativos.
¿La calculadora de combinaciones es gratuita?
La herramienta del navegador es gratuita y se ejecuta en local.
¿De cuántas formas puedo elegir 3 libros entre 10?
De 120 formas. Escriba 10 como total y 3 como cantidad a elegir; tomar A, B y C es la misma selección que C, B y A, así que el orden no añade opciones.
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 \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"n":10,"r":3}'const res = await fetch("https://api.kit.forhosting.com/combo/combinations", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"n": 10,
"r": 3
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/combo/combinations",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"n": 10,
"r": 3
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/combo/combinations", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"n":10,"r":3}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"n":10,"r":3}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/combo/combinations", 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": 10,
"r": 3
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "combo.combinations",
"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
Estudiantes, docentes, científicos de datos y programadores de concursos obtienen un conteo JSON determinista—sin instalar un sistema de álgebra computacional, sin muestreo aleatorio, y con la misma función pura en la herramienta gratuita del navegador y en la ruta API prepago—de modo que revisiones de deberes, validación de pipelines y sandboxes de entrevista comparten una sola respuesta reproducible.
Qué significa n elige r y por qué importa BigInt
Los casos frontera están bien definidos: C(n,0) y C(n,n) son siempre uno, C(n,1) iguala n, y cualquier r mayor que n o cualquier índice negativo se rechaza como invalid_input en lugar de inventar una extensión.
Cómo invocar la API y leer la respuesta
Envíe un cuerpo JSON con dos enteros no negativos obligatorios. Los alias total y N se aceptan con el mismo significado. Los alias k, choose y R se mapean a r. La validación fallida—n o r ausentes, un no entero, una fracción, un valor por encima del máximo publicado, un número negativo, o r mayor que n—devuelve invalid_input y nunca se cobra. El precio es un $0.002 fijo por petición exitosa con unidad item y precio marginal unitario cero.
Consejos prácticos, límites e intenciones relacionadas
Al enseñar, prefiera ejemplos emparejados: n igual a diez y r igual a tres produce ciento veinte; n igual a cinco y r igual a cero produce uno; n igual a cinco y r igual a seis muestra el rechazo duro cuando r es mayor que n; y un r negativo muestra el camino de rechazo por negativo. Los aterrizajes hermanos pueden apuntar a permutaciones, factoriales o números figurados; esta página es específicamente para quien busca una calculadora de combinaciones, calculadora nCr o herramienta de coeficiente binomial. No confunda combinaciones con permutaciones: si el orden importa, necesita P(n,r) igual a n! /(n−r)!, que es otra intención y otro aterrizaje. Mantenga n como máximo en diez mil para que el peor caso C(10000,5000) termine con rapidez en el Worker y en el navegador, cubriendo aún tamaños de concurso y docencia muy por encima del rango seguro de Number. Si necesita coeficientes de multiprecisión con n en cientos de miles, use una pila de enteros grandes dedicada fuera de línea: esta capacidad ligera de parse está pensada para comprobaciones interactivas, pegamento de API y demos de aula. Como la fórmula multiplicativa es determinista, los estudiantes pueden recomputar casos pequeños a mano o con una hoja de cálculo y coincidir con la API línea a línea. Las tareas fallidas que devuelven invalid_input no consumen saldo prepago, lo que mantiene baratos los scripts exploratorios cuando los usuarios escriben valores incorrectos al aprender el contrato. Prefiera conteos exactos en cadena frente a forzar un Number de JavaScript para que los coeficientes grandes nunca pierdan dígitos de orden bajo en el transporte JSON.
Casos de integración
Calificación de deberes y exámenes de coeficientes binomiales
Asigne n y r a los estudiantes y contraste su nCr calculado a mano con un resultado determinista de la API o del navegador gratuito sin ambigüedad de punto flotante.
Preguntas técnicas
¿Se admiten C(n,0) o C(n,n)?
Sí. Ambos valen 1 para cualquier n no negativo válido, incluido n = 0 donde C(0,0) = 1.