ForHosting KIT · Matemática

Divisão modular

Divida em aritmética modular: 8 dividido por 3 módulo 11 dá 10, porque o inverso de 3 é 4 e 3 vezes 10 deixa resto 8. Você também recebe o inverso, o mdc e um valor de conferência. Grátis no seu navegador.

  • Grátis
  • Funciona no seu navegador
  • Sem cadastro
  • Seus dados não saem do seu aparelho
Use pelo WebAPIE-mailTelegramApp em breve
Se você digitar
A
8
B
3
N
11
Você obtém
A módulo
8
B módulo
3
Inversa
4
Quociente
10

A divisão modular pede um resíduo q tal que b vezes q seja congruente a a módulo n. Na aritmética comum você simplesmente divide; na aritmética modular a divisão é multiplicação pelo inverso modular do divisor. Esse inverso existe somente quando b e n são coprimos. Laboratórios de criptografia, programação competitiva, tarefas de corpos finitos e exercícios de congruências lineares precisam dessa operação, mas muitas linguagens expõem apenas um GCD ou um inverso modular isolado e deixam o passo de multiplicar com você. Esta calculadora recebe os inteiros a, b e o módulo n, inverte b módulo n com o algoritmo de Euclides estendido quando possível, multiplica por a e devolve o único quociente não negativo entre zero e n menos um, junto com o inverso, o gcd e um produto de verificação para que você possa conferir o resultado sem rederivar os passos.

O que a divisão modular significa e quando está definida

Nos inteiros todo número não nulo tem um recíproco nos racionais, de modo que a divisão está definida longe do zero. Módulo n o quadro é mais rigoroso: os resíduos formam um anel e apenas as unidades—elementos com inverso multiplicativo—podem ser divisores legais. Dizemos que q é um quociente modular de a dividido por b módulo n quando b vezes q deixa o mesmo resto que a ao reduzir ambos os produtos módulo n.

De forma equivalente, q é congruente a a vezes o inverso de b módulo n. O inverso de b existe se e somente se o gcd de b e n for um; caso contrário todo múltiplo de b compartilha um fator com n e não pode atingir todas as classes de resíduo, de modo que nenhum q único serve para um a arbitrário.

Engenheiros e estudantes encontram essa barreira ao dividir em um módulo composto que não é um corpo primo, ao cancelar um coeficiente em uma congruência linear ou ao desfazer uma multiplicação modular em um passo de hash ou cifra. Observe que a em si não precisa ser coprimo com n; apenas o divisor b deve ser uma unidade. Essa assimetria é fácil de esquecer quando você só lembra o caso especial do inverso modular com a igual a um.

Uso prático, limites, preços e entrega

Use a ferramenta do navegador quando quiser um quociente modular rápido ao ler uma nota de teoria dos números, conferir um exercício da forma b x congruente a a mod n ou depurar um pipeline modular que já multiplica por inversos à mão. As entradas aceitas são inteiros a e b com valor absoluto no máximo um trilhão e módulos n de dois a um trilhão. Os resultados são determinísticos: o mesmo triplo sempre produz os mesmos campos quotient, inverse e check.

Se você só precisa do inverso de b sem multiplicar por a, prefira a capacidade dedicada de inverso modular; esta página atende à intenção completa de divisão que as pessoas buscam como divisão modular ou a dividido por b mod n.

Laboratórios de cripto e corpos finitos

Instrutores e alunos podem dividir elementos de corpo módulo um primo, ou inspecionar o gcd quando um módulo composto de amostra torna o divisor não invertível.

Corretores de tarefas e congruências lineares

Avaliadores automáticos podem verificar soluções de b x ≡ a (mod n) comparando o quociente retornado e rejeitar casos em que não existe uma classe de resíduo única.

O que acontece se b não for invertível módulo n?

A mensagem inclui gcd(b, n) para que você saiba por que a divisão modular não está definida. A validação falha não é cobrada.

Como o quociente é calculado?

O algoritmo de Euclides estendido encontra b⁻¹ mod n quando gcd(b, n) = 1; a calculadora multiplica esse inverso por a módulo n com aritmética inteira exata.

A calculadora de divisão modular é gratuita?

A ferramenta do navegador roda grátis no seu dispositivo.

Quais faixas de a, b e n são aceitas?

n deve ser um inteiro de 2 a 1,000,000,000,000. a e b devem ser inteiros cujo valor absoluto seja no máximo esse mesmo limite. Valores fora desses limites são rejeitados.

Quanto é 8 dividido por 3 módulo 11?

O resultado é 10. O inverso de 3 módulo 11 é 4, e multiplicar 8 por ele dá o quociente 10. Para conferir, 3 vezes 10 deixa resto 8 na divisão por 11.

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.

POSThttps://api.kit.forhosting.com/numth/modular-division

Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.

curl -X POST https://api.kit.forhosting.com/numth/modular-division \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"a":8,"b":3,"n":11}'
{
  "a": 8,
  "b": 3,
  "n": 11
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "numth.modular_division",
  "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.

por chamadaUS$ 0,002

Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.

HTTPCódigoO que significa
401unauthorizedToken ausente ou inválido. Confira o header Authorization.
402insufficient_balanceSaldo insuficiente para esta tarefa. Faça uma recarga e tente de novo.
404unknown_typeEsse tipo de tarefa não existe. Confira o campo type no catálogo.
429rate_limitedMuitas requisições em pouco tempo. Espere um instante e tente de novo.

O que a divisão modular significa e quando está definida

Devolver um erro invalid_input explícito quando b não é invertível é mais útil do que um resíduo silencioso e errado: o cliente aprende que a divisão não está definida para esse par e pode ramificar pelo gcd informado em vez de confiar em uma biblioteca incompleta.

Como esta calculadora inverte b e multiplica por a

Chame a capacidade com os campos inteiros a, b e n, onde n é pelo menos dois. A implementação primeiro reduz a e b a resíduos não negativos a_mod e b_mod no intervalo de zero a n menos um e depois executa o algoritmo de Euclides estendido em b_mod e n. Cada passo registra o quociente inteiro e atualiza os coeficientes de Bézout de modo que, ao terminar, o coeficiente de b_mod vezes b_mod mais um coeficiente de n iguala o gcd. Se esse gcd não for um, a requisição falha com invalid_input e uma mensagem que nomeia b, n e o gcd; nada é cobrado. Se o gcd for um, o coeficiente de b_mod é reduzido para zero até n menos um e armazenado como inverse. O produto modular de a_mod e inverse é então obtido com aritmética BigInt exata para que resíduos grandes permaneçam corretos até o limite publicado, e o produto é devolvido como quotient. A resposta também ecoa a, b, n, a_mod, b_mod, gcd e check igual a b_mod vezes quotient módulo n, que deve coincidir com a_mod sempre que a chamada for bem-sucedida. Os valores absolutos de a e b, e o módulo n, são limitados a um trilhão para que todo intermediário fique em um regime de inteiros seguros do Worker.

Uso prático, limites, preços e entrega

Use a API quando um script, corretor ou plataforma educacional precisar de muitas divisões sem embutir uma rotina de GCD estendido e um passo cuidadoso de multiply-mod. Cada requisição bem-sucedida é um item faturável a US$ 0,002; falhas de validação e divisores não invertíveis não consomem saldo. Conecte o endpoint a ajudas de competição, demos de corpos finitos, sandboxes de ensino RSA que precisam de mais do que inversos isolados ou qualquer pipeline inteiro que prefira aritmética exata a heurísticas de ponto flutuante. Como a unidade é um único item e o motor é parse puro, a latência permanece baixa e o canal web gratuito espelha a API paga sem um segundo caminho de código que possa divergir.

Programação competitiva e aritmética modular

Programadores competitivos podem calcular a/b mod n sob módulos primos ou compostos e capturar divisores não invertíveis via invalid_input em vez de trechos ad hoc de GCD estendido.

Como calculo a divisão modular a ÷ b mod n?

Envie JSON com os campos inteiros a, b e n (n ≥ 2) para numth.modular_division. Em caso de sucesso a resposta devolve quotient em 0..n−1, mais o inverso de b, a_mod, b_mod, gcd e check igual a a_mod.

Ver a documentação completa do KIT →