Aritmética Modular
Calcule operações de aritmética modular: resto da divisão (mod), congruência e inverso modular. Útil para programação e criptografia.
O que é Aritmética Modular?
A calculadora modular (ou aritmética modular) calcula o resto da divisão inteira (operação módulo): a mod n = resto de a / n. Por exemplo, 17 mod 5 = 2 (pois 17 = 3 × 5 + 2). A aritmética modular é fundamental na matemática discreta, teoria dos números, criptografia e programação.
Aplicações práticas: Dia da semana: dada qualquer data, o dia da semana pode ser calculado usando aritmética módulo 7 (algoritmo de Zeller); Horários: somas de horas são calculadas em módulo 24 (23 + 3 = 2h da manhã, não 26h); Verificação de números: dígitos verificadores de CPF, CNPJ, ISBN, CEP e cartões de crédito usam aritmética modular; Criptografia: o algoritmo RSA usa potenciação modular (a^b mod n); Tabelas hash: a função hash mais básica é índice = chave mod tamanho_da_tabela. O operador módulo em programação: % (Python, JavaScript, Java, C), mod (Pascal), MOD (Excel).
Como calcular?
Para calcular a mod n (o resto de a dividido por n), divida a por n e tome o resto. Em linguagens de programação, usa-se o operador % (por exemplo, 17 % 5 = 2). Para a adição modular, some os números e aplique o módulo ao resultado. Para a multiplicação modular, multiplique e aplique o módulo. Para potenciação modular (importante em criptografia), use o método de exponenciação rápida, calculando potências intermediárias e aplicando o módulo a cada passo para manter os números pequenos.
Fórmula
a mod n = a − n × ⌊a/n⌋ | (a + b) mod n = ((a mod n) + (b mod n)) mod n | (a × b) mod n = ((a mod n) × (b mod n)) mod nExemplo prático
Calcule 47 mod 5 e (23 + 19) mod 7: 47 mod 5: 47 ÷ 5 = 9 com resto 2, logo 47 mod 5 = 2 (23 + 19) mod 7: 23 + 19 = 42, e 42 ÷ 7 = 6 com resto 0, logo 42 mod 7 = 0 Ou pela propriedade: (23 mod 7 + 19 mod 7) mod 7 = (2 + 5) mod 7 = 7 mod 7 = 0 ✓
Perguntas Frequentes
Como calcular o módulo (resto da divisão)?
a mod n = a − n × floor(a/n). Para calcular: 1) Divida a por n (divisão inteira); 2) Multiplique o quociente por n; 3) Subtraia de a. Exemplo: 23 mod 7 = 23 − 7 × floor(23/7) = 23 − 7 × 3 = 23 − 21 = 2. Para negativos em matemática: (−7) mod 3 = 2 (sempre positivo na matemática). Em programação, o resultado pode ser negativo: em Python, −7 % 3 = 2 (positivo); em C/Java, −7 % 3 = −1 (negativo, sinal do dividendo).
Como o CPF usa aritmética modular?
O CPF tem 9 dígitos base + 2 dígitos verificadores (DV). O primeiro DV é calculado: some os 9 dígitos multiplicados por 10, 9, 8, 7, 6, 5, 4, 3, 2; calcule o resto mod 11; se resto < 2, DV1 = 0; senão DV1 = 11 − resto. O segundo DV usa os 9 dígitos + DV1 multiplicados por 11, 10, 9, 8, 7, 6, 5, 4, 3, 2. CPFs com todos os dígitos iguais (111.111.111-11) são inválidos pelo algoritmo. Por isso um CPF válido precisa passar pelos dois cálculos de verificação.
Aritmética modular no dia da semana?
Para calcular o dia da semana de qualquer data, use o Algoritmo de Zeller (simplificado): D = (d + floor(13(m+1)/5) + K + floor(K/4) + floor(J/4) − 2J) mod 7, onde d = dia, m = mês (março=3...fevereiro=14 do ano anterior), K = ano do século, J = século. Resultado: 0=Sábado, 1=Domingo, 2=Segunda... Para 15/08/2026 (Proclamação): m=8, d=15, K=26, J=20. D = (15 + 22 + 26 + 6 + 5 − 40) mod 7 = 34 mod 7 = 6 = Sábado.
O que é congruência modular?
a é congruente com b módulo n (escrito a ≡ b (mod n)) significa que a − b é divisível por n, ou seja, a mod n = b mod n. Exemplos: 17 ≡ 2 (mod 5) pois 17 − 2 = 15 = 3 × 5. 23 ≡ 2 (mod 7) pois 23 − 2 = 21 = 3 × 7. A congruência é uma relação de equivalência: reflexiva (a ≡ a mod n), simétrica (se a ≡ b então b ≡ a), transitiva (se a ≡ b e b ≡ c então a ≡ c). É a base da teoria dos grupos cíclicos, amplamente usada em criptografia.
Como módulo é usado em programação?
O operador módulo (%) aparece em: Ciclos e índices: percorrer array circular com index = (index + 1) % tamanho; Paridade: if (n % 2 == 0) número par; Validação de dados: algoritmos de checksum (Luhn para cartões de crédito); Geração de números pseudoaleatórios: Linear Congruential Generator (xn+1 = (a×xn + c) % m); Divisão de tarefas: servidor i recebe requisições onde id % total_servidores == i (load balancing por hash); Hash tables: bucket = hashCode(key) % arrayLength.
Como funciona o algoritmo de Luhn (verificação de cartão de crédito)?
O algoritmo de Luhn valida números de cartão de crédito: 1) Dobre os dígitos em posições pares (da direita para esquerda); 2) Se o dobro for > 9, subtraia 9; 3) Some todos os dígitos (dobrados ou não); 4) Se a soma mod 10 = 0, o cartão é válido. Exemplo: cartão 4532015112830366. Aplicando Luhn: soma = 70; 70 mod 10 = 0; válido! O algoritmo detecta erros de digitação (troca de um dígito). Não garante que o cartão existe, apenas que tem formato válido. O prefixo do cartão identifica a bandeira: Visa começa com 4; Mastercard com 51-55.
Ferramentas Relacionadas
Conversão de Bases Numéricas
Converta números entre bases binária, octal, decimal e hexadecimal
Fatoração em Primos
Decomponha qualquer número inteiro em seus fatores primos
MMC e MDC — Múltiplos e Divisores
Calcule o mínimo múltiplo comum e máximo divisor comum
Porcentagem
Calcule porcentagens, aumentos e descontos facilmente
Média Aritmética e Ponderada
Calcule médias simples e ponderadas de um conjunto de valores
Regra de Três
Calcule proporções com regra de três simples e composta
Raiz Quadrada e Cúbica
Calcule raízes quadradas e cúbicas de qualquer número
Teorema de Pitágoras
Preencha dois dos três campos e deixe o terceiro vazio para calcular. O teorema de Pitágoras afirma que a² + b² = c².