Resolver ecuación cuadrática
Escriba a, b y c y obtenga las dos raíces junto con el discriminante: x² − 3x + 2 = 0 tiene discriminante 1 y raíces 2 y 1. Si el discriminante es negativo, aparece un par complejo, y cada raíz se muestra con seis decimales. Gratis en su navegador.
- Gratis
- Funciona en su navegador
- Sin registro
- Sus datos no salen de su equipo
Ejecutar — gratis
Ejemplo resuelto
- Coeficiente A
- 1
- Coeficiente B
- -3
- Coeficiente C
- 2
- Discriminante
- 1
- Tipo de raíces
- two_real
raíces gratis en el navegador
Cómo encuentra la fórmula las raíces
Toda ecuación cuadrática puede escribirse como a por x al cuadrado, más b por x, más c, igual a cero. La calculadora obtiene primero el discriminante, b al cuadrado menos cuatro por a por c, con aritmética entera exacta. Después aplica la fórmula clásica: menos b, más o menos la raíz cuadrada del discriminante, todo dividido entre dos por a. Tome x² − 3x + 2 = 0. Aquí a vale 1, b vale −3 y c vale 2, así que el discriminante es 9 menos 8, es decir, 1. Su raíz cuadrada es 1, y las dos raíces son 4 entre 2 y 2 entre 2, o sea, 2 y 1.
Cómo leer el resultado y evitar errores frecuentes
Cuando el discriminante es negativo no hay solución real, y las dos raíces se muestran con una parte real y una parte imaginaria que se reflejan entre sí: un par conjugado. El error más común a mano es el signo de b: en x² − 3x + 2, b vale −3 y no 3, y la fórmula empieza por menos b. Otro es olvidar que dos por a divide a todo el numerador. Los coeficientes deben ser enteros de no más de un millón en valor absoluto, y el primero no puede ser cero. Cada raíz se redondea a seis decimales, alejando de cero los casos de mitad exacta. Las ecuaciones de grado superior no se resuelven aquí.
Raíces half-up sin ruido de Math.sqrt
Las raíces reales usan la fórmula clásica x igual a menos b más o menos la raíz de D, todo partido por dos a. La raíz se obtiene con isqrt entero de n por S al cuadrado, donde S es un millón, y se redondea half-up a seis decimales. La división usa half-up simétrico que aleja las mitades de cero.
Las raíces complejas aplican el mismo camino escalado al valor absoluto de D para que las partes imaginarias sigan siendo conjugadas incluso cuando a es negativo. Como cada paso es entero, dos oráculos independientes que sigan las reglas firmadas producen las mismas cadenas en todos los vectores.
Orden de las raíces y límites prácticos
x1 es siempre la rama más y x2 la rama menos de la fórmula cuadrática. En soluciones complejas la parte imaginaria de x1 lleva el signo que resulta de dividir la raíz escalada entre dos a, y x2 invierte ese signo imaginario. La salida no llama a la red, no lee el reloj del sistema y no depende del locale.
La versión uno omite a propósito coeficientes no enteros, factorización simbólica y polinomios de grado superior para que el contrato sea corto y auditable.
Qué puede hacer con ella
Deberes
Comprobar raíces de cuadráticas mónnicas y no mónnicas.
Números complejos
Mostrar pares conjugados cuando D es negativo.
Tests de pipeline
Fijar cadenas de seis decimales en integración continua.
Modelos simples
Resolver ecuaciones características con coeficientes enteros.
Preguntas frecuentes
¿Se admiten decimales?
No en v1. Solo enteros o cadenas enteras.
¿Usa Math.sqrt flotante?
No. El oráculo es isqrt entero más half-up escalado.
¿Qué indica el discriminante?
El discriminante es b al cuadrado menos cuatro por a por c. Si es positivo hay dos raíces reales distintas, si es cero hay una raíz doble y si es negativo las raíces forman un par de complejos conjugados.
¿Qué raíz es x1 y cuál es x2?
La primera raíz usa siempre el signo más delante de la raíz cuadrada de la fórmula y la segunda, el signo menos. En x² − 3x + 2 = 0 eso da primero 2 y después 1.
¿Qué pasa si a vale cero?
La ecuación se rechaza, porque sin el término al cuadrado deja de ser cuadrática y pasa a ser lineal. El primer coeficiente debe ser un número entero distinto de cero.
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/dev/quadratic-equation \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"a":1,"b":-3,"c":2}'const res = await fetch("https://api.kit.forhosting.com/dev/quadratic-equation", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"a": 1,
"b": -3,
"c": 2
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/dev/quadratic-equation",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"a": 1,
"b": -3,
"c": 2
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/dev/quadratic-equation", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"a":1,"b":-3,"c":2}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"a":1,"b":-3,"c":2}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/dev/quadratic-equation", 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": 1,
"b": -3,
"c": 2
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "dev.quadratic_equation",
"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_coeff | 1000000 |
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
Introduce los coeficientes enteros a, b y c de la ecuación ax² + bx + c = 0 y obtén el discriminante, la naturaleza de las raíces y ambas soluciones como pares reales o complejos.
Solo coeficientes enteros en la versión uno
También se rechazan valores absolutos por encima de un millón para mantener acotada la ruta entera. Este solucionador acepta a, b y c como enteros JSON o como cadenas enteras canónicas con un signo menos opcional. Se rechazan floats, booleanos, puntos decimales, el signo más inicial y ceros a la izquierda como 01, con error invalid_input tipado en el campo culpable. El coeficiente a no puede ser cero; ese caso se informa como a_zero porque la ecuación dejaría de ser cuadrática.
Discriminante exacto y tres naturalezas
Siempre recibes dos objetos raíz x1 y x2, cada uno con parte real re y parte imaginaria im formateadas como cadenas con exactamente seis decimales. Esa forma fija facilita pintar resultados en tablas, widgets y pipelines sin casos especiales por campos ausentes. El discriminante D vale b al cuadrado menos cuatro a c y se calcula con aritmética entera exacta, nunca con coma flotante IEEE. Si D es positivo la naturaleza es two_real, si es cero es repeated y si es negativo es complex.
Preguntas técnicas
¿Puede a ser cero?
No. Se devuelve a_zero porque dejaría de ser cuadrática.
¿Qué precisión tienen las raíces?
Siempre seis decimales con redondeo half-up.
¿Qué es nature?
two_real, repeated o complex según el signo de D.
¿Es gratis en el navegador?
Sí. El widget es local; la API usa $0.002.