Calculadora del principio fundamental del conteo
Tres camisas, cuatro pantalones y dos pares de zapatos dan 24 conjuntos distintos. Indique cuántas opciones ofrece cada paso y obtenga el número exacto de combinaciones, aunque el resultado tenga cientos de cifras. Gratis en su navegador.
- Gratis
- Funciona en su navegador
- Sin registro
- Sus datos no salen de su equipo
Ejecutar — gratis
Ejemplo resuelto
- Etapas
- 3, 4, 2
- Total
- 24
- Etapas
- 3
- Recuentos
- 3, 4, 2
- Dígitos
- 2
El principio fundamental del conteo —también llamado regla de la multiplicación— afirma que cuando un proceso ocurre por etapas, y cada etapa ofrece un número fijo de opciones, el número total de resultados posibles es simplemente el producto de esas cantidades. Tres camisas, cuatro pantalones y dos pares de zapatos forman 3 × 4 × 2 = 24 conjuntos.
Qué dice realmente la regla de la multiplicación
Imagine una decisión tomada en varios pasos independientes. En el primer paso puede elegir una de c1 opciones; haya elegido lo que haya elegido, el segundo paso sigue ofreciendo c2 opciones; el tercero ofrece c3, y así sucesivamente. El principio fundamental del conteo establece que el número total de recorridos completos y distintos a través de todos los pasos es c1 × c2 × … × ck.
Un menú con cuatro entradas, seis platos principales y tres postres produce, por tanto, 4 × 6 × 3 = 72 menús diferentes de tres tiempos. La suposición clave es que el número de opciones de cada etapa no depende de lo elegido antes: cada rama del árbol de decisión tiene la misma ramificación en un nivel dado. Cuando esa suposición se cumple, nunca hace falta dibujar el árbol: una sola multiplicación le da el conteo.
Aritmética exacta para conteos muy grandes
Los productos crecen rápido, y esa es precisamente la razón por la que los problemas de conteo se resuelven con multiplicación y no con enumeración. Diez etapas con diez opciones cada una ya producen diez mil millones de resultados, y los espacios de configuración realistas —contraseñas, matrículas, variantes de producto, planes de asientos— superan con frecuencia lo que un número de 64 bits en coma flotante puede representar con exactitud. Los números de JavaScript pierden precisión silenciosamente más allá de 2^53, lo que corrompería un conteo como 26^10.
Esta calculadora realiza todo el producto con enteros grandes de precisión arbitraria, de modo que cada dígito de la respuesta es exacto, y devuelve el total como una cadena decimal para que ningún tipo numérico del cliente lo deteriore al recibirlo. Los límites prácticos son generosos en lugar de infinitos: hasta mil etapas, cada una con un conteo de hasta mil millones.
Validación de entradas y lectura de la salida
Cada cantidad de etapa debe ser un entero positivo. El cero se rechaza —una etapa con cero opciones hace imposible todo el proceso, y devolver cero en silencio ocultaría un error de modelado— y también las fracciones, los números negativos y las cadenas no numéricas. Cuando la entrada es válida, la respuesta repite las cantidades normalizadas, informa de cuántas etapas se multiplicaron y da el total como una cadena decimal junto con su número de dígitos.
Qué puede hacer con ella
Contar combinaciones de menús o productos
Multiplique las opciones por categoría —tallas, colores, acabados— para saber cuántas variantes distintas contiene realmente un catálogo.
Dimensionar un espacio de contraseñas o códigos
Calcule 10^6 para un PIN de seis dígitos o 26^8 para un código de ocho letras para razonar sobre la resistencia a la fuerza bruta en una revisión de seguridad.
Generar ejercicios para una clase de matemáticas
Introduzca cantidades por etapa aleatorias desde un guion de lección y obtenga la solución exacta de problemas de la regla de la multiplicación sin aritmética manual.
Preguntas frecuentes
¿Cuánto cuesta?
También es gratis ejecutarlo en su navegador en esta página: el mismo código impulsa ambas opciones.
¿Qué es el principio fundamental del conteo?
La regla que dice que cuando un proceso tiene etapas con c1, c2, ..., ck opciones cada una, el número total de resultados es el producto c1 × c2 × … × ck.
¿Por qué se rechaza el cero como cantidad de etapa?
Una etapa con cero opciones significa que no existe ningún resultado completo. Devolver un error en lugar de un cero silencioso saca a la luz lo que casi siempre es un error de modelado.
¿Qué tan grande puede ser el resultado?
Arbitrariamente grande dentro de los límites: hasta 1000 etapas con conteos de hasta 1000000000 cada una. El total se calcula con enteros grandes y se devuelve como una cadena decimal exacta.
¿Se almacena mi entrada?
No. Las cantidades se multiplican en memoria y se descartan; solo se devuelve el resultado.
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/math/fundamental-counting-principle \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"stages":[3,4,2]}'const res = await fetch("https://api.kit.forhosting.com/math/fundamental-counting-principle", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"stages": [
3,
4,
2
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/math/fundamental-counting-principle",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"stages": [
3,
4,
2
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/math/fundamental-counting-principle", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"stages":[3,4,2]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"stages":[3,4,2]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/math/fundamental-counting-principle", 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
{
"stages": [
3,
4,
2
]
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "math.fundamental_counting_principle",
"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_stages | 1000 |
max_count | 1000000000 |
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
Esta API recibe un arreglo con las cantidades de opciones por etapa y devuelve ese producto de forma exacta, usando aritmética de enteros grandes para que la respuesta siga siendo precisa incluso cuando tiene cientos de dígitos.
Qué dice realmente la regla de la multiplicación
Este endpoint codifica exactamente esa regla: usted envía las cantidades por etapa como un arreglo y recibe el producto exacto junto con el número de etapas y la longitud en dígitos del resultado, de modo que pueda comprobar las magnitudes de un vistazo.
Aritmética exacta para conteos muy grandes
Eso cubre cualquier ejercicio de libro de texto y cualquier espacio de configuración real con el que probablemente trabaje por script, manteniendo la versión gratuita del navegador instantánea y el coste de la API acotado.
Validación de entradas y lectura de la salida
Cuando la validación falla, la API responde con un error invalid_input que indica la posición exacta del problema, por ejemplo stages[2], de modo que un script pueda mostrar el problema directamente. Use la herramienta del navegador en esta página para experimentar de forma interactiva —ejecuta exactamente el mismo código que la API— y cambie a la API cuando necesite integrar el conteo en un generador de lecciones, un sistema de inventario o una batería de pruebas. Cada petición a la API cuesta $0.002, sin almacenamiento de sus datos: los números se calculan y se descartan.