Calculadora de MCD
El máximo común divisor de 48 y 18 es 6: es el mayor número que aparece en las dos listas de divisores. Escriba dos enteros, con signo o con un cero, y obtenga la respuesta exacta para simplificar fracciones, repartir en cajas iguales o elegir baldosas. Gratis en su navegador.
- Gratis
- Funciona en su navegador
- Sin registro
- Sus datos no salen de su equipo
Ejecutar — gratis
Ejemplo resuelto
- A
- 48
- B
- 18
- Gcf
- 6
El máximo común divisor de dos números enteros es el entero más grande que divide exactamente a ambos, y aparece constantemente: al reducir fracciones, al repartir cantidades en grupos iguales, al dimensionar las baldosas de un suelo o al simplificar proporciones en el código. Esta capacidad lo calcula con el algoritmo de Euclides, el mismo método que los matemáticos emplean desde hace más de dos mil años, y devuelve un único entero. Envíe dos enteros —positivos, negativos o cero, como números o como cadenas numéricas exactas— y reciba su máximo común divisor.
Qué es realmente el máximo común divisor
Tome dos enteros, por ejemplo 48 y 18. Los números que dividen exactamente a 48 son 1, 2, 3, 4, 6, 8, 12, 16, 24 y 48; los divisores de 18 son 1, 2, 3, 6, 9 y 18. Los divisores que comparten son 1, 2, 3 y 6, y el mayor de ellos —6— es el máximo común divisor, que se escribe mcd(48, 18) = 6.
Enumerar divisores funciona con números pequeños, pero escala fatal: factorizar un entero de quince dígitos es de verdad difícil. La calculadora de máximo común divisor evita factorizar por completo. Usa el algoritmo de Euclides, que se apoya en una observación: cualquier divisor común de a y b también divide al resto de dividir el mayor entre el menor.
Sustituir el número mayor por ese resto reduce el problema a cada paso conservando todos los divisores comunes, hasta que uno de los números llega a cero y el otro es la respuesta. Todo el cálculo toma como mucho unas decenas de pasos incluso para los enteros más grandes que JavaScript representa con exactitud, y el resultado es siempre exacto: sin coma flotante ni aproximaciones.
Entradas, signos, cero y errores
Los signos no importan: mcd(-48, 18) es igual a mcd(48, 18), porque un divisor de un número también divide a su opuesto, así que el algoritmo trabaja con los valores absolutos. El cero es una entrada legítima con un significado preciso —mcd(17, 0) es 17, pues todo entero divide a cero y el mayor divisor de 17 es el propio 17—, pero que ambos campos sean cero se rechaza, porque todo entero divide a cero y no existe uno mayor.
Los valores absolutos están limitados a 9007199254740991, el mayor entero que JavaScript representa con exactitud; cualquier cosa mayor no podría tratarse con exactitud y se rechaza.
Dónde encaja y cuánto cuesta
Usted se encuentra con el máximo común divisor más a menudo de lo que sugiere su nombre. Reducir una fracción a sus términos mínimos es dividir numerador y denominador entre su MCD. Repartir un envío en cajas idénticas sin que sobre nada, elegir la baldosa cuadrada más grande que cubre un suelo rectangular sin cortes y simplificar una proporción de aspecto en un diseño adaptable son la misma pregunta con distinta ropa.
En el código aparece dentro de planificadores, funciones hash y rutinas criptográficas. Esta capacidad es deliberadamente mínima: devuelve el factor en sí, nada más, de modo que se combina limpiamente con cualquier cosa que lo consuma. Si necesita los pasos completos de división del algoritmo de Euclides, los coeficientes de Bézout o también el mínimo común múltiplo, hay capacidades hermanas que cubren eso.
Se ejecuta en nuestro borde global sin guardar nada tras la respuesta, y el mismo módulo alimenta la calculadora gratuita de esta página, de modo que puede verificar cualquier resultado a mano antes de integrarlo en un pipeline.
Qué puede hacer con ella
Reducir una fracción a sus términos mínimos
Divida numerador y denominador entre su máximo común divisor para simplificar 48/18 a 8/3 en una sola llamada.
Repartir cantidades en grupos iguales
Encuentre el tamaño de lote idéntico más grande que divide exactamente dos cantidades de existencias, sin que sobre nada.
Simplificar proporciones en un motor de diseño
Convierta dimensiones en píxeles como 1920x1080 a la proporción 16:9 que representan antes de guardarlas o mostrarlas.
Preguntas frecuentes
¿Cuánto cuesta?
Además es gratis ejecutarlo en su navegador en esta página.
¿Importan los signos de los números?
No. El máximo común divisor se calcula sobre los valores absolutos, así que mcd(-48, 18) y mcd(48, 18) son ambos 6.
¿Puede uno de los números ser cero?
Sí: mcd(a, 0) es |a|. Que ambos sean cero se rechaza, porque mcd(0,0) no está definido.
¿Qué tan grandes pueden ser los enteros?
Hasta 9007199254740991 en valor absoluto, el mayor entero que se puede representar con exactitud. Los valores mayores se rechazan en lugar de calcularse de forma aproximada.
¿Se guarda algo después de la llamada?
No. Los dos enteros se procesan y se descartan; solo se devuelve el máximo común divisor.
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/gcf \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"a":48,"b":18}'const res = await fetch("https://api.kit.forhosting.com/math/gcf", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"a": 48,
"b": 18
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/math/gcf",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"a": 48,
"b": 18
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/math/gcf", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"a":48,"b":18}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"a":48,"b":18}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/math/gcf", 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
{
"a": 48,
"b": 18
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "math.gcf",
"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_abs | 9007199254740991 |
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 entrada que no sea entera se rechaza con un error claro, y el mismo código que responde al API funciona gratis en su navegador en esta página.
Entradas, signos, cero y errores
El endpoint acepta dos campos obligatorios, a y b. Cada uno debe ser un entero: un número JSON como 1071 o una cadena numérica como "-252" que represente un entero exacto; las cadenas son cómodas cuando el valor procede de un formulario o de un archivo de texto. Los decimales como 2.5, las fracciones, los booleanos y el texto no numérico se rechazan con un error invalid_input que nombra el campo culpable, porque el máximo común divisor solo está definido para enteros.
Dónde encaja y cuánto cuesta
El precio es $0.002 por solicitud sin recargo por unidad, y las solicitudes idénticas siempre producen respuestas idénticas.
Preguntas técnicas
¿Qué entradas se aceptan?
Dos enteros, a y b, como números JSON o como cadenas numéricas que sean enteros exactos. Cualquier otra cosa se rechaza con un error invalid_input.