Calculadora de raízes complexas quadráticas exatas
Esta calculadora de raízes complexas resolve ax² + bx + c = 0 quando coeficientes inteiros produzem um discriminante negativo.
Executar grátis
Em vez de arredondar a resposta, ela mantém a parte real como fração reduzida e a magnitude imaginária como raiz quadrada ou fração simplificada. As duas soluções são entregues juntas como um par conjugado complexo exato na forma retangular, útil para exercícios de álgebra, gabaritos, testes simbólicos e processos nos quais uma aproximação esconderia a estrutura da solução.
Reconheça quando uma quadrática tem raízes complexas
Comece pela equação padrão ax² + bx + c = 0, na qual a não pode ser zero. O discriminante é b² − 4ac. Um valor positivo gera duas raízes reais distintas, e zero gera uma raiz real repetida. Esta calculadora trata especificamente do caso restante: discriminante estritamente negativo. Nesse caso, sua raiz quadrada contém i, a unidade imaginária definida por i² = −1, e a fórmula quadrática pode ser escrita como uma parte real mais ou menos uma parte imaginária. Como a, b e c são inteiros reais, apenas a troca desse sinal cria duas soluções conjugadas. Por exemplo, x² + x + 1 tem discriminante −3 e raízes −1/2 + sqrt(3)/2 i e −1/2 − sqrt(3)/2 i. A ferramenta rejeita valores não negativos para tornar uma suposição errada visível e rejeita a = 0 porque essa entrada representa uma equação linear.
Leia o resultado exato na forma retangular
Informe os três coeficientes inteiros a, b e c na forma padrão. A resposta apresenta uma equação legível e o discriminante negativo. Cada item de roots contém real, imaginary e rectangular. O campo real é o valor reduzido −b/(2a). O campo imaginary é o coeficiente sinalizado de i, calculado por sqrt(−D)/(2|a|), após extrair fatores quadrados do radical e cancelar fatores comuns com o denominador. O campo rectangular reúne essas partes na notação u + vi. Portanto, 3/2 + sqrt(7)/2 i significa u = 3/2 e v = sqrt(7)/2; a segunda raiz mantém a coordenada real e inverte a imaginária. Nenhum decimal substitui o radical, assim frações periódicas e raízes irracionais continuam exatas. Quando o radical vira inteiro, a notação sqrt é removida; quando uma fração vira inteiro, seu denominador é omitido.
Valide o par e use-o com segurança
Para validar rapidamente, confira a simetria conjugada: as duas raízes precisam ter partes reais idênticas e partes imaginárias opostas. Você também pode aplicar as fórmulas de Vieta. A soma deve ser −b/a, pois os termos imaginários se cancelam, e o produto deve ser c/a. Outra verificação consiste em substituir uma das expressões em ax² + bx + c e simplificar até as partes real e imaginária desaparecerem. As entradas são limitadas a inteiros seguros com valor absoluto de até um milhão, preservando a exatidão do discriminante e da fatoração no navegador e no Worker da API. A ferramenta não aceita decimais, não interpreta equações digitadas e não resolve raízes reais. Converta coeficientes racionais em inteiros equivalentes antes da chamada. O navegador usa a mesma função pura, sem rede; cada item correto via API custa US$ 0,002, enquanto entradas inválidas retornam erro explícito.
Casos de uso
Conferir uma tarefa de álgebra
Compare um par conjugado obtido à mão com partes reais e imaginárias exatas antes de entregar o exercício.
Criar gabaritos exatos
Gere soluções coerentes na forma retangular sem introduzir arredondamento decimal em listas ou avaliações.
Testar código de matemática simbólica
Use strings deterministas de radicais e frações como casos de teste para programas que processam quadráticas complexas.
Perguntas frequentes
Por que o discriminante precisa ser negativo?
Esta capacidade é específica para raízes conjugadas complexas não reais. Um discriminante zero ou positivo pertence a um solucionador de raízes reais.
As raízes são exatas ou aproximações decimais?
Elas são exatas. As frações são reduzidas e as raízes quadradas são simplificadas sem conversão para decimais de ponto flutuante.
O que significa forma retangular?
A forma retangular escreve um número complexo como u + vi e separa a parte real u do coeficiente imaginário v.
Por que as duas raízes são conjugadas?
Uma quadrática com coeficientes reais e raízes não reais apresenta a mesma parte real e sinais opostos nas partes imaginárias.
Quanto custa uma chamada à API?
Cada item resolvido com sucesso custa US$ 0,002. O mesmo solucionador determinista também funciona localmente no navegador.
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/algebra/quadratic-complex-roots \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"a":1,"b":1,"c":1}'const res = await fetch("https://api.kit.forhosting.com/algebra/quadratic-complex-roots", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"a": 1,
"b": 1,
"c": 1
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/algebra/quadratic-complex-roots",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"a": 1,
"b": 1,
"c": 1
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/algebra/quadratic-complex-roots", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"a":1,"b":1,"c":1}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"a":1,"b":1,"c":1}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/algebra/quadratic-complex-roots", 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": 1,
"c": 1
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "algebra.quadratic_complex_roots",
"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.
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. |