O que define se um número é par
Um número é par quando ele é divisível por 2 sem resto. Isso significa que se você dividir por dois, o resultado será um número inteiro. Do jeito mais simples possível: 4 dividido por 2 é 2, então 4 é par. 7 dividido por 2 dá 3 com resto 1, então 7 não é par. Como saber se um número enorme, tipo um CPF ou um código de produto, é par sem fazer a divisão inteira? Você olha só o último dígito. Esse é o truque que todo mundo esquece que existe até precisar usar em produção.
Com quais algarismos terminam os números pares
A resposta curta e direta: os números pares sempre terminam em 0, 2, 4, 6 ou 8. Só esses cinco. Se o último algarismo for um deles, o número é par. Se for 1, 3, 5, 7 ou 9, é ímpar. Não tem exceção, não tem condição especial. Isso funciona para qualquer base numérica inteira positiva. Não importa se o número tem três dígitos ou trinta dígitos. Só o último conta.
Eu sei que isso parece óbvio demais, mas já vi gente passando horas debugando um sistema de validação de formulário porque o desenvolvedor estava verificando se o número era divisível por 2 fazendo a conta inteira. Funciona, mas é ineficiente. Para validação rápida em lote de milhões de registros, olhar só o último dígito é drasticamente mais rápido.
Por que funciona dessa forma
O sistema decimal é baseado em potências de 10. Qualquer número pode ser escrito como a soma de cada dígito multiplicado por uma potência de 10. O último dígito é multiplicado por 10 elevado a zero, que é 1. Todos os outros dígitos estão em posições multiplicadas por 10, 100, 1000, etc. Aqui está o detalhe importante que poucas pessoas lembram: 10 é divisível por 2. 100 também é. 1000 também. Todo múltiplo de 10 é par. Então qualquer dígito que não esteja na posição das unidades, quando multiplicado por 10, 100, 1000 e assim por diante, resulta em um número par. A paridade do número inteiro depende exclusivamente do último dígito.
Isso significa que 2.458.372 é par porque 2 é par. O resto do número, 2.458.370, é automaticamente par por ser múltiplo de 10. A soma de dois pares é par. É por isso que o último dígito determina tudo.
Um caso prático que eu enfrentei
Trabalhei num projeto onde precisávamos filtrar registros por número de processo judicial. O sistema recebia um arquivo com 40 milhões de linhas e precisava separar processos pares dos ímpares para distribuir entre varas específicas. A primeira versão do código fazia divisões inteiras em cada linha. Levava cerca de 47 minutos rodando. A correção foi absurda em simplicidade. Em vez de dividir por 2, usei uma expressão regular que puxava só o último caractere e verificava se estava em ['0', '2', '4', '6', '8']. O tempo caiu para 3 minutos. A lógica matemática é idêntica, mas a operação de comparação de string é muito mais barata que divisão de BigInteger em escala.
O problema é que essa otimização só funciona se você tiver certeza de que os dados são numéricos válidos. Encontrei registros onde o número do processo vinha com traços ou espaços no final, tipo "1234567-8" ou "9876543 ". Nesses casos, pegar o último caractere daria "8" ou " ", e o resultado estaria errado. A solução foi fazer um trim e depois validar com regex antes de aplicar a regra do último dígito.
👉 Clique no botão abaixo para saber mais sobre o assunto!
Pegadinhas que quebram produção
Uma coisa que todo mundo erra é confundir a paridade do último dígito com a paridade do valor total quando se trabalha com strings mal formatadas. Números com vírgula decimal, como "12,5", não são inteiros e a regra não se aplica. Você tem que garantir que está lidando com números inteiros. Outro problema comum é lidar com números negativos. -4 termina em 4, então é par. -7 termina em 7, então é ímpar. O sinal não muda a paridade. Mas alguns sistemas mais antigos tratam o sinal como parte da string e podem confundir o algoritmo se você não normalizar antes.
Em bases diferentes de 10, a regra muda completamente. Em binário, um número é par se terminar em 0. Em hexadecIMAL, termina em 0, 2, 4, 6, 8, A, C ou E. O conceito de paridade existe em qualquer base, mas os dígitos que indicam paridade dependem da base.
Como aplicar na prática
Se você está programando e precisa verificar paridade, a forma mais clara é usar o operador módulo. Em praticamente qualquer linguagem, `numero % 2 === 0` responde se é par. É legível, direto e o compilador ou runtime otimiza isso bem. Em Python, por exemplo:
```python
def e_par(n):
return n % 2 == 0
``` Em JavaScript:
```javascript
const ePar = n => n % 2 === 0;
``` Se estiver trabalhando com strings ou dados sujos de origem desconhecida, faça a limpeza primeiro. Remova espaços, tracinhos, pontos de milhar. Depois valide que o resultado é um número inteiro com regex como `/^-?\d+$/`. Só então aplique a verificação de paridade.
Para quem não programa e quer saber na mão, a dica é mesma: olhe o último algarismo. Se for 0, 2, 4, 6 ou 8, é par. Pronto. Não precisa de calculadora, não precisa de fórmula, não precisa de nada além disso.
Quando essa regra não ajuda
A verificação pelo último dígito responde apenas a pergunta "é par ou ímpar". Ela não diz nada sobre divisibilidade por 4, por 8, por outros números. Para saber se um número é divisível por 4, você precisa olhar os dois últimos dígitos. Por 8, os três últimos. A regra do último dígito é específica para divisibilidade por 2, que é a definição exata de paridade. Também não funciona para frações ou decimais. 3,5 não é par nem ímpar. A paridade é uma propriedade dos inteiros. Se o número tiver parte fracionária, a pergunta nem faz sentido matematicamente.
Em resumo, números pares terminam em 0, 2, 4, 6 ou 8. É isso. O resto é detalhe de implementação.