Calculadora de expansión del coeficiente multinomial
Esta calculadora de expansión del coeficiente multinomial cuenta cuántas disposiciones distintas existen cuando se reparten objetos diferentes en grupos etiquetados de tamaños fijos.
Ejecutar — gratis
Introduzca el número total de objetos y el tamaño de cada grupo. La calculadora comprueba que dichos tamaños sumen el total declarado y evalúa el coeficiente con exactitud. Como el resultado se entrega en una cadena decimal, incluso los valores que superan el intervalo seguro de los enteros permanecen completos y sin redondeos. Resulta útil en ejercicios de combinatoria, disposiciones con símbolos repetidos, fórmulas de probabilidad y pruebas de software que requieren un recuento fiable de particiones.
Comprenda qué cuenta el coeficiente
Un coeficiente multinomial amplía la conocida idea de elegir un subconjunto. En vez de separar una colección únicamente entre una parte seleccionada y el resto, distribuye todos los objetos distintos entre varios grupos etiquetados cuyos tamaños se fijan de antemano. Para un total n y tamaños n1, n2 y sucesivos, el coeficiente es el factorial de n dividido por el producto de los factoriales de todos los tamaños. Las etiquetas importan: asignar tres personas a la mañana, tres a la tarde y dos a la noche no equivale a crear conjuntos sin nombre. El orden interno de un grupo no importa, pues intercambiar dos miembros del mismo grupo no altera la asignación. La expresión también cuenta las expansiones distintas de una disposición multiconjunto. Por ejemplo, para ordenar letras repetidas se usa un tamaño de grupo por cada símbolo repetido. El resultado siempre es un entero no negativo. Se admite un grupo de tamaño cero, que aporta un factorial igual a uno, y un único grupo con todo el total produce el coeficiente uno. Esta capacidad devuelve el valor exacto y no una aproximación, por lo que sirve para comparaciones, correcciones y cálculos exactos posteriores.
Indique el total y una lista completa de tamaños
Envíe un objeto con total y group_sizes. El total debe ser un entero no negativo que no exceda diez mil. group_sizes debe ser un arreglo no vacío de enteros no negativos. Sobre todo, cada tamaño ha de pertenecer a la misma partición completa: la suma de las entradas debe coincidir exactamente con total. Con total ocho y tamaños tres, tres y dos, la respuesta contiene el coeficiente 560. Esto significa que ocho objetos distintos pueden asignarse a tres grupos etiquetados de esos tamaños de 560 maneras. La respuesta repite group_sizes ya validado para que se pueda relacionar el valor con la partición correcta. El coeficiente es una cadena decimal y no un número JSON, porque los resultados combinatorios exactos superan con rapidez el mayor entero que JavaScript representa de forma segura. Trate la cadena como entero en lenguajes con precisión arbitraria o consérvela como texto para mostrarla y almacenarla. La API cuesta $0.002 por solicitud correcta. Los fallos de validación se notifican como entrada inválida en lugar de corregirse en silencio, de modo que una errata no genere una respuesta plausible para otro problema matemático.
Interprete la validación y conserve la exactitud
La comprobación de la suma forma parte del contrato matemático, no es solo una comodidad. Si total vale diez pero los tamaños suman nueve, queda un objeto sin destino y la partición solicitada está incompleta. Si suman once, se piden más objetos de los disponibles. En ambos casos la capacidad rechaza la solicitud e informa tanto de la suma recibida como del total declarado. También rechaza fracciones, valores negativos, campos ausentes, listas vacías y totales superiores al límite publicado. La implementación evalúa la expresión como producto de coeficientes binomiales exactos, en vez de construir varios factoriales enormes y dividirlos después. Primero elige los miembros del primer grupo, después el siguiente grupo entre los objetos restantes y continúa hasta agotarlos. Cada división es exacta y la aritmética BigInt evita redondeos. Así, los resultados son estables entre llamadas, navegadores y ejecuciones en servidor. Si utiliza el coeficiente en una probabilidad multinomial, conviértalo con una biblioteca de precisión arbitraria antes de combinarlo con potencias de probabilidades. Si solo cuenta disposiciones, mantenga intacta la cadena decimal para no perder cifras al procesar JSON, hojas de cálculo o bases de datos.
Qué puede hacer con ella
Contar disposiciones de símbolos repetidos
Use la frecuencia de cada símbolo como tamaño de grupo para obtener las secuencias distintas sin contar varias veces las copias idénticas.
Construir cálculos de probabilidad
Obtenga el factor combinatorio exacto de una masa de probabilidad multinomial antes de aplicar las probabilidades de las categorías.
Validar ejercicios de combinatoria
Compare una expansión o un recuento de particiones hecho a mano con un resultado exacto y detecte listas de tamaños incompletas.
Preguntas frecuentes
¿Qué suma deben dar los tamaños de grupo?
Deben sumar exactamente total. Una suma menor o mayor se rechaza porque no describe una partición completa de los objetos.
¿Por qué se devuelve el coeficiente como cadena?
Los coeficientes multinomiales superan pronto el intervalo entero seguro. Una cadena decimal conserva todos los dígitos sin redondeos de JSON.
¿Puede un grupo tener tamaño cero?
Sí. Cero es un tamaño no negativo válido y no aporta objetos; su factorial es uno.
¿Los grupos están etiquetados?
Sí. La fórmula cuenta asignaciones a posiciones o categorías distintas; no fusiona disposiciones que intercambien grupos completos.
¿Cuánto cuesta una solicitud a la API?
Una solicitud correcta a la API cuesta $0.002. El cálculo también es determinista y no depende de la red ni de un modelo.
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/algebra/multinomial-coefficient \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"total":8,"group_sizes":[3,3,2]}'const res = await fetch("https://api.kit.forhosting.com/algebra/multinomial-coefficient", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"total": 8,
"group_sizes": [
3,
3,
2
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/algebra/multinomial-coefficient",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"total": 8,
"group_sizes": [
3,
3,
2
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/algebra/multinomial-coefficient", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"total":8,"group_sizes":[3,3,2]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"total":8,"group_sizes":[3,3,2]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/algebra/multinomial-coefficient", 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
{
"total": 8,
"group_sizes": [
3,
3,
2
]
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "algebra.multinomial_coefficient",
"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_total | 10000 |
max_groups | 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. |