A regra dos dois últimos dígitos (e o resto que ninguém conta)
Quais números são divisíveis por 4? A resposta curta é qualquer inteiro que, ao ser dividido por 4, resulte em resto zero. A resposta prática, a que você realmente usa no dia a dia, envolve olhar só para os dois últimos dígitos. Se eles formam um número divisível por 4, todo o número é divisível por 4. Pronto.
Como testar na prática quais números são divisíveis por 4
Pegue o número. Ignore tudo exceto os dois algarismos mais à direita. Veja se esse par é divisível por 4. Se for, o número inteiro é. Se não for, não é. Não tem segredo, mas tem detalhes que as pessoas erram. Por exemplo: 2.836. Os dois últimos dígitos formam 36. 36 ÷ 4 = 9. Está divisível. 2.836 é divisível por 4. Outro exemplo: 5.174. Os dois últimos são 74. 74 ÷ 4 = 18,5. Não é inteiro. 5.174 não é divisível por 4.
O motivo disso funcionar é puramente matemático. Qualquer número pode ser escrito como N = 100 × a + b, onde a é a parte formada pelos dígitos à esquerda e b são os dois últimos dígitos. Como 100 já é divisível por 4, o resto da divisão de N por 4 depende exclusivamente de b. Testar os dois últimos dígitos não é um atalho — é a forma mais enxuta de calcular o resto. Vale notar que isso só se aplica a inteiros positivos. Números negativos funcionam pelo mesmo critério, mas na prática você raramente vai encontrar um negativo nesse contexto. Decimais não se aplicam — a regra é para números inteiros. Se você vê 12,56, precisa primeiro decidir se está testando o valor completo ou truncando para 12.
Também tem o caso dos zeros à esquerda nos dois últimos dígitos. Um número como 1.004 tem "04" nos dois últimos dígitos. 04 é o mesmo que 4. 4 ÷ 4 = 1. Então 1.004 é divisível por 4. As pessoas costumam esquecer esse detalhe e pensar que "04" não conta como número válido. Conta. Uma coisa que eu aprendi na prática e que pouca gente menciona: a regra dos dois últimos dígitos é uma otimização, não uma verificação mais precisa. Ela economiza tempo quando você está olhando números no papel, mas se você está processando dados em lote, o ganho é marginal. Num script Python, fazer `n % 4 == 0` é tão rápido quanto testar os dois últimos dígitos, e em muitos casos mais legível. A regra manual brilha mesmo é em revisão de planilhas ou validação visual rápida.
👉 Clique no botão abaixo para saber mais sobre o assunto!
Eu já passei por um problema específico com isso. Trabalhava com validação de códigos de produto onde o número tinha 10 dígitos e precisei implementar uma verificação de paridade em lote. O campo vinha como string, e em alguns registros havia espaços ou caracteres invisíveis que faziam a substring dos dois últimos dígitos falhar silenciosamente. Em vez de travar, o código retornava um número errado e o registro era marcado como "divisível" quando não era. A solução foi strip da string antes de extrair os dois últimos caracteres, plus uma validação explícita de que o resultado era realmente um inteiro antes de aplicar a regra. Levei uns 40 minutos pra encontrar a causa raiz, porque o bug não explodia — ele só silenciosamente deixava passar registros errados.
Pegadinhas e limitações que valem a pena saber
A regra dos dois dígitos finais é amplamente ensinada e amplamente subestimada. Existem cenários onde ela não resolve tudo por si só. O primeiro é a questão dos números muito grandes. Acima de 15 dígitos, a maioria das calculadoras e planilhas começa a perder precisão porque converte pra notação científica ou usa ponto flutuante. Nesse caso, testar os dois últimos dígitos manualmente ainda funciona conceitualmente, mas a entrada pode já estar corrompida. A workaround é usar bibliotecas de precisão arbitrária ou tratar o dado como string até o momento da verificação.
O segundo é o problema dos floats. Em sistemas financeiros, números como 100.00 podem ser representados como 99.99999999999999 por causa de imprecisão de ponto flutuante. Se você aplicar a regra dos dois dígitos nesse caso, vai testar "99" em vez de "00", e o resultado será errado. A correção padrão é roundar pra casa decimal adequada antes de testar, ou usar tipos decimais fixos desde o início. Em transações bancárias, eu trabalho exclusivamente com integer cents (multiplique por 100 e trate como inteiro) pra evitar esse tipo de armadilha. Um terceiro ponto que as pessoas esquecem: a regra funciona porque 100 é múltiplo de 4. Isso significa que ela é específica pro sistema decimal. Se você estivesse trabalhando em base 8 ou base 16, a regra seria diferente. Para base 16, por exemplo, você olharia os dois últimos dígitos hexadecimais e testaria divisibilidade por 4 naquela base — o que na prática geralmente significa verificar se o último dígito hexadecimal é 0, 4, 8 ou C.
Não recomendo usar essa regra para números menores que 10. Funciona tecnicamente — um número de um dígito como 8 tem "08" como dois últimos dígitos — mas nesses casos a divisão direta é mais rápida do que montar o raciocínio. A regra brilha mesmo a partir de três dígitos. Outro detalhe: divisibilidade por 4 não implica divisibilidade por 8. Todo número divisível por 8 é divisível por 4, mas o contrário não é verdade. 12 é divisível por 4 mas não por 8. Se você precisa verificar ambas as condições, não assume que testar por 4 já basta.
Resumo rápido de uso
Para números até 100 dígitos em contextos manuais, testar os dois últimos dígitos é eficiente e confiável. Para processamento automatizado de grandes volumes, use operador módulo direto. Para dados financeiros, trabalhe com inteiros e round antes de qualquer teste. Para bases não-decimais, adapte a regra ao módulo da base.