Menor Numero De.4 Algarismos Diferentes
Como achar o menor número com 4 algarismos diferentes
Essa é uma daquelas questões que aparecem em olimpíadas de matemática e em exercícios de lógica para iniciantes em programação. Parece simples, mas tem uma pegadinha que todo mundo erra na primeira vez. O enunciado básico pede para você montar o menor inteiro possível usando exatamente quatro dígitos distintos, sem repetir nenhum deles. A resposta curta é 1.023, mas o caminho até chegar lá revela como a notação posicional funciona na prática. Vou construir o número dígito por dígito, da esquerda para a direita, sempre tentando colocar o menor valor possível em cada posição. O primeiro algarismo não pode ser zero, porque se eu começar com zero o número vira uma representation com um dígito a menos. Então o mínimo que eu posso colocar lá é 1. Agora olha o segundo dígito: aqui sim eu posso usar o zero, porque ele não está na posição mais significativa. Já usei o 1 no primeiro lugar, então posso empregar o 0. Terceira posição: os dígitos que eu já emploiei são 0 e 1. O menor disponível sobra é o 2. E na última casa, o menor que ainda não apareceu é o 3. Resultado: 1.023. Isso funciona porque a ordem dos dígitos importa muito mais do que o conjunto em si. Um erro comum é achar que a resposta seria 0.123 ou alguma variação parecida, mas números naturais não começam com zero. Se o problema permitir decimais ou números negativos, aí a coisa muda completamente e cai noutro patamar de interpretação.
Por que esse exercício aparece tanto
Na minha experiência corrigindo provas de concursos e de raciocínio lógico, quase todo mundo tenta montar uma sequência tipo 1.234 ou 4.321, sem pensar na restrição da posição mais significativa. Outros confundem e colocam dígitos repetidos, tipo 1.002, que só tem três algarismos diferentes. A pegada tá exatamente aí: respeitar a contagem de dígitos distintos sem abalar a magnitude do número. O que eu acho interessante é que esse exercício toca em dois conceitos fundamentais ao mesmo tempo. O primeiro é a base do sistema decimal posicional, que todo mundo aprende no ensino fundamental mas pouco usa na prática depois. O segundo é a noção de otimização com restrições, que é o cerne de qualquer problema de combinatória aplicada. Quando você programa isso em Python ou C, vê que a solução é basicamente um loop que guarda os dígitos usados e pára quando atinge a contagem alvo, mas entender o porquê da resposta exige o raciocínio passo a passo.
Extensões e variações do problema
Se você pedir o menor número com exatamente cinco algarismos diferentes, a lógica se repete e a resposta vira 1.0234. Para seis algarismos, fica 1.02345. A fórmula geral é simples: coloque 1 na primeira casa, 0 na segunda, e depois os dígitos seguintes em ordem crescente. O problema é que essa estrutura só funciona quando o número é positivo e inteiro. Se o enunciado mudar e pedir o maior número, a resposta vira 9.876, porque aí você inverte a prioridade e usa os dígitos maiores primeiro. Uma variação mais interessante é quando o problema não permite o zero, ou quando proíbe dígitos consecutivos. Nesses casos, a resposta sobe e o cálculo manual fica mais trabalhoso. Eu já perdi tempo numa prova tentando achar o menor número com três algarismos diferentes que fosse divisível por 4, e a resposta não era óbvia porque a regra de divisibilidade por 4 depende dos dois últimos dígitos, não do todo. Aí eu tive que testar combinações manualmente até achar 1.024, que é o primeiro que satisfaz todas as restrições.

Pegadinhas comuns e onde o método falha
Tem um motivo pelo qual esse exercício é usado tanto: ele expõe rapidamente quem entende o sistema decimal e quem só decorou regras. Se você interpretar "número" como qualquer representação numérica, incluindo decimais, a resposta muda. 0,123 é menor que 1.023, mas aí você tá trabalhando com números racionais, não inteiros. A ambiguidade do termo é o que gera mais confusão nas bancas de exame. Outra armadilha clássica é esquecer que o zero é um algarismo válido, mas só nas posições não-significativas. Alguém pode montar 1.203, que também tem quatro algarismos diferentes, mas não é o menor porque o zero ficou para o meio em vez de estar logo após o 1. A ordem importa, e a posição mais à esquerda ditada a magnitude total. Se o problema vier com a restrição adicional de que nenhum dígito pode ser vizinho do seu sucessor numérico, a coisa complica e não tem fórmula fechada, só enumeração ou algoritmo de busca. Uma limitação séria desse exercício é que ele só faz sentido dentro de um contexto bem definido. Se o enunciado não especificar se o número deve ser positivo, inteiro, e se a base decimal é fixa, a resposta pode variar. Em bases diferentes, por exemplo, o menor número com quatro dígitos distintos seria 1.023 na base 4, que equivale a 35 em base 10. A generalização é interessante, mas o problema original pede explicitamente a representação decimal padrão.
Implementação prática
Se você quiser resolver isso programaticamente, a lógica é trivial. Comece com o dígito 1, depois 0, e vá incrementando. Em linguagem de programação, um algoritmo ganharias linhas assim: primeiro_digito = 1
segundo_digito = 0
digito_atual = 2
repita quatro vezes:
acrescente digito_atual à string
digito_atual += 1 Isso gera "1023" em menos de um milissegundo. Se quiser generalizar para n dígitos diferentes, basta ajustar o laço. O custo é O(n), e o espaço também é linear porque você precisa guardar os dígitos já usados. Para valores pequenos de n, isso é irrelevante, mas se o problema escalar para dezenas de dígitos, a abordagem de enumeração manual vira inviável e você precisa de uma estrategia de geração combinatória com poda.
O que eu aprendi na prática é que a maioria das pessoas que trabalha com lógica de programação erra nesse exercício porque acha que o zero não é um dígito válido ou que a primeira posição pode ser zero. Não é. Se você passar por isso, teste seu código com a entrada 4 e veja se a saída bate com 1.023. Se não bater, revisa a lógica de seleção de dígitos disponíveis por posição.

Galeria
-
Diferença entre o maior e o menor número de 4 algarismos diferentes ... -
Encontre o menor número inteiro de 4 algarismos diferentes - YouTube -
Questão envolvendo maior e menor número de 4 algarismos distintos ...