O Que São Algarismos Distintos
Entendendo algarismos distintos na prática
A regra é simples na teoria. Um número tem algarismos distintos quando nenhum dígito se repete dentro dele. O número 7.321 funciona porque os algarismos são 7, 3, 2 e 1, todos diferentes. O número 4.554 falha porque o dígito 5 aparece duas vezes e o 4 também. A partir daí começa a parte chatinha. O conceito aparece com frequência em exercícios de raciocínio lógico, concursos, e também em validação de CPF, CNPJ e outros documentos brasileiros que exigem dígitos verificadores únicos. Muita gente pensa que basta olhar o número e decidir, mas na prática existem armadilhas que passam despercebidas.
o que são algarismos distintos e como aplicar o teste
O teste mais direto consiste em transformar o número em uma string, varrer cada posição e verificar se algum dígito já apareceu antes. Se aparecer repetição, rejeita. Se chegar ao final sem repetição, aprova. Exemplo rápido. O número 89.012 passa no teste. Os algarismos são 8, 9, 0, 1 e 2. Nenhum se repete. Já o número 1.234.567.890 também passa, apesar de ter dez algarismos diferentes, porque cobre exatamente o conjunto 0 a 9 sem duplicatas. O número 10.000 falha imediatamente. O dígito 0 aparece quatro vezes. Na prática, eu costumo usar um conjunto (set) para controle de repetições. Percorro caractere por caractere, e se o dígito já estiver no conjunto, pare no ato. Se o loop terminar normalmente, o número é válido. Isso evita construções complicadas e explicações desnecessárias.
Um detalhe que causa confusão constante é o tratamento do sinal e dos zeros à esquerda. Em problemas matemáticos formais, o sinal não conta como algarismo, e zeros à esquerda só entram se o número for representado explicitamente assim. Na validação de documentos, a entrada costuma ser tratada como string pura, então o cuidado muda. O método que eu adotei funciona para ambas as situações, desde que você normalise a entrada antes de começar o teste. Há uma diferença importante entre algarismos distintos e números permutáveis. Números com os mesmos algarismos distintos, mas em ordens diferentes, são coisas diferentes. O número 3.142 e o número 4.231 têm o mesmo conjunto de algarismos, {1, 2, 3, 4}, mas são valores distintos. Confundir esses dois conceitos gera erros em exercícios de combinatória e em validações de senha. Outro ponto que as pessoas sempre ignoram é o limite máximo de algarismos distintos possíveis. Em base decimal, o máximo é dez. Qualquer número com mais de dez algarismos inevitavelmente contém repetição, por simples princípio da casa dos pombos. Isso resolve muitos casos rapidamente, sem precisar analisar cada dígito. Se o número tiver onze ou mais algarismos, descarte na hora.

Eu já perdi tempo demais corrigindo validações que não consideravam essa restrição básica. Em um projeto de seleção de senhas com requisitos específicos, o código aprovava sequências de doze dígitos porque o teste de repetição estava mal implementado. A correção foi trivial, mas o retrabalho foi desnecessário. Quando você precisa gerar números com algarismos distintos, o método mais eficiente é construir a sequência do zero, escolhidigito por digito, e impedir que qualquer algarismo seja usado mais de uma vez. Isso evita gerar candidatos inválidos e depois filtrá-los, o que é ineficiente para conjuntos grandes. Para contagem, existe uma fórmula direta se você quiser calcular quantos números de N dígitos têm todos os algarismos distintos, sem considerar o zero à esquerda como permitido na primeira posição. O cálculo envolve permutações e um ajuste para a primeira casa, que não pode ser zero em representações normais. O resultado cai rápido conforme N aumenta, e a partir de N = 11 o resultado é zero, o que já confirmamos acima.
Uma aplicação comum que as pessoas esquecem é a verificação de placas de veículos, códigos de barras e identificadoradores em sistemas legados. Esses sistemas às vezes exigem dígitos únicos para evitar colisões em tabelas de hash ou para simplificar algoritmos de checksum. Saber se um número obedece à restrição economiza chamadas ao banco e corrige bugs que aparecem só em produção. Se você está implementando isso em código, use a representação como string para evitar problemas de ponto flutuante. Números muito grandes podem sofrer perda de precisão se forem tratados como floats, e zeros à esquerda podem sumir se você converter para inteiro antes do teste. A abordagem correta é aceitar a entrada como texto, remover caracteres não numéricos se necessário, e aplicar o teste de repetição diretamente. Existe ainda a questão dos algarismos distintos em outras bases numéricas. Em base hexadecimal, por exemplo, os algarismos válidos vão de 0 a 9 e de A a F. O teste é o mesmo, mas o conjunto de símbolos é maior, e a contagem muda. Para quem trabalha com criptografia ou manipulação de bytes, esse ajuste é rotina, mas gera confusão quando a regra é aplicada sem considerar a base correta.
Resumindo sem resumos dramáticos. Algarismos distintos significa exatamente isso. Nenhum dígito se repete. O teste é simples. As armadilhas aparecem na normalização da entrada, no tratamento de zeros à esquerda, no limite de dez algarismos e na escolha da representação durante a implementação. Conhecer esses pontos evita horas de depuração.
Galeria
-
Quantos são os números hexadecimais de três algarismos distintos e ... -
Quantos Números De Três Algarismos Distintos Existem - RETOEDU -
Quantos Numeros De Tres Algarismos Distintos Podemos Formar Usando ...