Divisão de inteiros gaussianos: quociente e resto
A divisão de inteiros gaussianos trabalha com números cujos coeficientes real e imaginário são inteiros.
Executar grátis
Informe os quatro coeficientes do dividendo e de um divisor não nulo; a calculadora retorna um quociente gaussiano e o resto exato. Ela também apresenta as duas normas para que você confirme a condição euclidiana. O cálculo usa aritmética inteira exata, sem aproximações de ponto flutuante, e segue uma regra estável quando uma coordenada fica exatamente entre dois inteiros.
Represente dividendo e divisor por coeficientes inteiros
Um inteiro gaussiano tem a forma a + bi, em que a e b são inteiros comuns e i ao quadrado é menos um. Informe a em dividend_real e b em dividend_imag. Descreva c + di com divisor_real e divisor_imag. Coeficientes negativos são aceitos e qualquer coeficiente pode ser zero, porém os dois coeficientes do divisor não podem ser zero simultaneamente. Por exemplo, 17 e 9 representam 17 + 9i, enquanto 4 e -3 representam 4 - 3i. Campos separados eliminam ambiguidades de sinais, espaços ou termos omitidos e facilitam a integração com programas que armazenam números complexos como pares de coordenadas. Cada coeficiente deve ser inteiro e respeitar o intervalo publicado. A resposta segue a mesma forma explícita: quotient.real e quotient.imag identificam o quociente, enquanto remainder.real e remainder.imag identificam o resto. Assim, você pode reconstruir o dividendo sem interpretar uma expressão matemática formatada.
Entenda como o quociente euclidiano é escolhido
O cálculo considera primeiro a razão complexa exata entre dividendo e divisor. A multiplicação pelo conjugado do divisor expressa cada coordenada como uma fração cujo denominador positivo é a norma c ao quadrado mais d ao quadrado. Cada coordenada racional é arredondada para o inteiro mais próximo. A implementação compara diretamente numeradores e denominadores inteiros, impedindo que erros binários atravessem o limite da metade. Quando uma coordenada está exatamente no meio, o arredondamento se afasta de zero. Essa convenção é determinística; outra convenção euclidiana válida pode escolher um quociente diferente no limite, mas a identidade e a desigualdade das normas continuam válidas. Depois, o resto é calculado por subtração exata: dividendo menos divisor vezes quociente. Os campos divisor_norm e remainder_norm permitem confirmar que a norma do resto é estritamente menor que a norma do divisor.
Confira resultados e use-os em teoria dos números
Para conferir a resposta, multiplique o quociente retornado pelo divisor original e some o resto. A coordenada real é divisor_real vezes quotient.real menos divisor_imag vezes quotient.imag, mais remainder.real. A imaginária é divisor_real vezes quotient.imag mais divisor_imag vezes quotient.real, mais remainder.imag. As duas devem reproduzir exatamente o dividendo. Compare também remainder_norm com divisor_norm; a primeira será menor para todo divisor válido. Essas propriedades tornam a operação adequada ao passo repetido do algoritmo de máximo divisor comum gaussiano, a exercícios sobre domínios euclidianos e a sistemas simbólicos que precisam de uma escolha estável nos limites. Rede, aleatoriedade e relógio não participam do cálculo, portanto entradas iguais geram o mesmo JSON. O divisor zero é rejeitado. Chamadas de API custam US$ 0,002, e um navegador compatível executa localmente o mesmo núcleo determinístico.
Casos de uso
Executar o algoritmo euclidiano gaussiano
Use cada resto como o próximo divisor ao calcular máximos divisores comuns de inteiros gaussianos.
Conferir exercícios de álgebra abstrata
Verifique um quociente e resto propostos comparando a identidade exata e as normas informadas.
Criar ferramentas simbólicas determinísticas
Aplique uma convenção explícita para metades quando um programa exigir resultados reproduzíveis.
Perguntas frequentes
O que é um inteiro gaussiano?
É um número complexo a + bi cujos coeficientes real a e imaginário b são inteiros.
O divisor pode ser zero?
Não. Se os dois coeficientes do divisor forem zero, a entrada será rejeitada como inválida.
Por que outras calculadoras podem dar outro quociente em um empate?
Uma coordenada exatamente entre inteiros permite mais de uma escolha próxima válida. Aqui, as metades são sempre arredondadas para longe de zero.
Como saber se o resto é euclidiano?
Compare remainder_norm com divisor_norm. Em uma entrada válida, a norma do resto é estritamente menor.
O cálculo usa aritmética complexa de ponto flutuante?
Não. Produtos, decisões de arredondamento racional e subtrações usam aritmética inteira exata.
Quanto custa um cálculo pela API?
Cada solicitação de API custa US$ 0,002. A calculadora no navegador pode executar localmente o mesmo núcleo.
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/numth/gaussian-integer-divide \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"dividend_real":17,"dividend_imag":9,"divisor_real":4,"divisor_imag":-3}'const res = await fetch("https://api.kit.forhosting.com/numth/gaussian-integer-divide", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"dividend_real": 17,
"dividend_imag": 9,
"divisor_real": 4,
"divisor_imag": -3
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/numth/gaussian-integer-divide",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"dividend_real": 17,
"dividend_imag": 9,
"divisor_real": 4,
"divisor_imag": -3
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/numth/gaussian-integer-divide", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"dividend_real":17,"dividend_imag":9,"divisor_real":4,"divisor_imag":-3}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"dividend_real":17,"dividend_imag":9,"divisor_real":4,"divisor_imag":-3}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/numth/gaussian-integer-divide", 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
{
"dividend_real": 17,
"dividend_imag": 9,
"divisor_real": 4,
"divisor_imag": -3
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "numth.gaussian_integer_divide",
"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. |