Resolver equação quadrática
Digite a, b e c e receba as duas raízes com o discriminante: x² − 3x + 2 = 0 tem discriminante 1 e raízes 2 e 1. Quando o discriminante é negativo, aparece um par complexo, e cada raiz é mostrada com seis casas decimais. Grátis no seu navegador.
- Grátis
- Funciona no seu navegador
- Sem cadastro
- Seus dados não saem do seu aparelho
Executar grátis
Exemplo resolvido
- Coeficiente A
- 1
- Coeficiente B
- -3
- Coeficiente C
- 2
- Discriminante
- 1
- Tipo de raízes
- two_real
raízes grátis no navegador
Como a fórmula encontra as raízes
Toda equação quadrática pode ser escrita como a vezes x ao quadrado, mais b vezes x, mais c, igual a zero. A calculadora obtém primeiro o discriminante, b ao quadrado menos quatro vezes a vezes c, com aritmética inteira exata. Depois aplica a fórmula clássica: menos b, mais ou menos a raiz quadrada do discriminante, tudo dividido por duas vezes a. Pegue x² − 3x + 2 = 0. Aqui a vale 1, b vale −3 e c vale 2, então o discriminante é 9 menos 8, ou seja, 1. A raiz quadrada dele é 1, e as duas raízes são 4 dividido por 2 e 2 dividido por 2, isto é, 2 e 1.
Como ler o resultado e evitar erros comuns
Quando o discriminante é negativo não existe solução real, e as duas raízes aparecem com uma parte real e uma parte imaginária que se espelham: um par conjugado. O erro mais comum na conta à mão é o sinal de b: em x² − 3x + 2, b vale −3 e não 3, e a fórmula começa com menos b. Outro é esquecer que duas vezes a divide o numerador inteiro. Os coeficientes devem ser inteiros de no máximo um milhão em valor absoluto, e o primeiro não pode ser zero. Cada raiz é arredondada a seis casas decimais, afastando de zero os casos de metade exata. Equações de grau maior não são resolvidas aqui.
Raízes half-up sem ruído de Math.sqrt
As raízes reais usam a fórmula clássica x igual a menos b mais ou menos a raiz de D, tudo a dividir por dois a. A raiz obtém-se com isqrt inteiro de n vezes S ao quadrado, onde S é um milhão, e arredonda-se half-up a seis casas. A divisão usa half-up simétrico que afasta as metades de zero.
As raízes complexas aplicam o mesmo caminho escalado ao valor absoluto de D para que as partes imaginárias permaneçam conjugadas mesmo quando a é negativo. Como cada passo é inteiro, dois oráculos independentes que sigam as regras assinadas produzem as mesmas cadeias em todos os vetores.
Ordem das raízes e limites práticos
x1 é sempre o ramo mais e x2 o ramo menos da fórmula quadrática. Em soluções complexas a parte imaginária de x1 leva o sinal que resulta de dividir a raiz escalada por dois a, e x2 inverte esse sinal imaginário. A saída não chama a rede, não lê o relógio do sistema e não depende do locale.
A versão um omite de propósito coeficientes não inteiros, fatoração simbólica e polinómios de grau superior para o contrato ficar curto e auditável.
Casos de uso
Trabalho de casa
Verificar raízes de quadráticas mónicas e não mónicas.
Números complexos
Mostrar pares conjugados quando D é negativo.
Testes de pipeline
Fixar cadeias de seis casas em integração contínua.
Modelos simples
Resolver equações características com coeficientes inteiros.
Perguntas frequentes
Aceita decimais?
Não na v1. Só inteiros ou cadeias inteiras.
Usa Math.sqrt flutuante?
Não. O oráculo é isqrt inteiro mais half-up escalado.
O que o discriminante indica?
O discriminante é b ao quadrado menos quatro vezes a vezes c. Se for positivo, há duas raízes reais diferentes; se for zero, há uma raiz dupla; se for negativo, as raízes formam um par de complexos conjugados.
Qual raiz é x1 e qual é x2?
A primeira raiz sempre usa o sinal de mais antes da raiz quadrada da fórmula, e a segunda usa o sinal de menos. Em x² − 3x + 2 = 0 isso dá primeiro 2 e depois 1.
O que acontece se a for zero?
A equação é recusada, porque sem o termo ao quadrado ela deixa de ser quadrática e vira linear. O primeiro coeficiente precisa ser um número inteiro diferente de zero.
Ferramentas relacionadas
Para desenvolvedores — acesso via API
Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.
Endpoint
Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.
Chame do seu código
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)Exemplo de requisição
{
"a": 1,
"b": -3,
"c": 2
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "dev.quadratic_equation",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.
Preço
Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.
Limites
max_abs_coeff | 1000000 |
Erros
| HTTP | Código | O que significa |
|---|---|---|
401 | unauthorized | Token ausente ou inválido. Confira o header Authorization. |
402 | insufficient_balance | Saldo insuficiente para esta tarefa. Faça uma recarga e tente de novo. |
404 | unknown_type | Esse tipo de tarefa não existe. Confira o campo type no catálogo. |
429 | rate_limited | Muitas requisições em pouco tempo. Espere um instante e tente de novo. |
Notas técnicas
Informe os coeficientes inteiros a, b e c da equação ax² + bx + c = 0 e obtenha o discriminante, a natureza das raízes e ambas as soluções como pares reais ou complexos.
Apenas coeficientes inteiros na versão um
Valores absolutos acima de um milhão também são rejeitados para manter o caminho inteiro limitado. Este resolvedor aceita a, b e c como inteiros JSON ou como cadeias inteiras canónicas com um sinal de menos opcional. Floats, booleanos, pontos decimais, o sinal de mais inicial e zeros à esquerda como 01 são rejeitados com invalid_input tipado no campo responsável. O coeficiente a não pode ser zero; esse caso é reportado como a_zero porque a equação deixaria de ser quadrática.
Discriminante exato e três naturezas
Recebe sempre dois objetos raiz x1 e x2, cada um com parte real re e imaginária im formatadas como cadeias com exatamente seis casas decimais. Essa forma fixa facilita mostrar resultados em tabelas, widgets e pipelines sem casos especiais por campos em falta. O discriminante D é b ao quadrado menos quatro a c e calcula-se com aritmética inteira exata, nunca com vírgula flutuante IEEE. Se D é positivo a natureza é two_real, se é zero é repeated e se é negativo é complex.
Perguntas técnicas
a pode ser zero?
Não. Devolve-se a_zero porque deixaria de ser quadrática.
Que precisão têm as raízes?
Sempre seis casas com arredondamento half-up.
O que é nature?
two_real, repeated ou complex consoante o sinal de D.
É grátis no navegador?
Sim. O widget é local; a API usa US$ 0,002.