O jeito prático de saber se um número é par
A regra básica é simples: olhe só o último dígito. Se ele for 0, 2, 4, 6 ou 8, o número inteiro é par. Se for 1, 3, 5, 7 ou 9, é ímpar. Isso vale para qualquer inteiro positivo ou negativo que você encontre no dia a dia, desde planilhas de estoque até códigos de barras. Parece óbvio? É. Mas a maioria das pessoas erra na hora da aplicação porque não treina o reconhecimento rápido do algarismo das unidades. Eu mesma levava uns segundos a mais para classificar números como 1.842 ou 9.007 atéar a ignorar o resto e focar só no último dígito.
um número é par quando o algarismo das unidades é
A frase completa seria “um número é par quando o algarismo das unidades é par”. No fundo, isso resume todo o critério. Não tem segredo: a paridade de um inteiro é determinada exclusivamente pelo seu último algarismo na base decimal. O resto da divisão por 2 é zero se e somente se esse último dígito for par. Na prática, eu uso isso para validar lote de mercadorias em sistemas antigos que ainda geram números de controle sem módulo de verificação. Você pega uma lista de IDs como 45.332, 45.333, 45.334 e precisa separar os pares dos ímpares para distribuir em dois caminhões. Focar só nas unidades evita confusão com os algarismos à esquerda, que muitas vezes carregam informação de data ou série e não interferem na paridade.
Um caso que me pegou foi quando precisei classificar números em binário. A regra do último dígito decimal não se aplica diretamente; aí o critério vira “olhar o bit menos significativo”. Eu tentei aplicar a lógica decimal em strings binárias e perdi vinte minutos debugando. A correção foi converter para inteiro e usar `n & 1` em Python, que checa o último bit em O(1). Dica técnica: em Python, `int(s[-1]) % 2 == 0` funciona para strings que representam inteiros, mas falha se a string tiver sinal, casas decimais ou espaço. Um workaround rápido é limpar a entrada com `s.strip().lstrip(‘+–‘)` e depois verificar se `s` é um inteiro válido antes de extrair o último caractere.
👉 Clique no botão abaixo para saber mais sobre o assunto!
Outro detalhe que iniciantes ignoram: a regra vale para negativos também. –1.234 termina em 4, então é par. –1.237 termina em 7, então é ímpar. O sinal não entra no critério. Já vi gente tratar –1.237 como “par porque o 2 é par”, o que é um erro de leitura do algarismo das unidades, não da magnitude. Se você trabalha com grandes volumes, automatizar essa verificação reduz tempo de triagem manual. Em uma planilha com 10 mil linhas, uma fórmula como `=MOD(ÚLTIMO.DÍGITO(A2);2)=0` roda em menos de um segundo, enquanto a inspeção visual leva cerca de 15 minutos, dependendo da familiaridade com números.
Limitações existem. O critério não se aplica a números fracionários nem a representações em bases diferentes sem conversão prévia. Se o dado vier em hexadecimal, por exemplo, você precisa converter para decimal ou usar regras específicas do sistema (no hex, os dígitos pares são 0,2,4,6,8,A,C,E). Também não serve para checar divisibilidade por outros números, como 4 ou 5; aí a regra muda. Para casos onde a paridade precisa ser verificada em tempo real em embedded systems com recursos limitados, muitas vezes prefiro usar operações bitwise em vez de funções de string, porque evito alocação de memória e tratamento de exceções. Em C, `if (n & 1) { ímpar } else { par }` é direto e previsível.
Se a sua situação envolve validação de formulários web, lembre-se de que o usuário pode digitar espaços, traços ou vírgulas. Um validador robusto primeiro normaliza a entrada, depois confirma que é um inteiro e, só então, aplica a regra do último dígito. Pular qualquer um desses passos gera falsos positivos, especialmente com números como “1.234,56” que parecem inteiros mas não são. Resumindo sem resumo: o algarismo das unidades dita a paridade. Treine o olhar para ele, use automação quando o volume justificar, e adapte a regra conforme a base numérica ou o tipo de dado. Se precisar de mais detalhes sobre implementação em alguma linguagem específica, é só pedir.