A resposta curta e a resposta real
O menor número ímpar depende inteiramente do conjunto que você está usando, e a maioria dos artigos na internet simplesmente não menciona isso. Se estivermos falando de inteiros positivos — o conjunto {1, 2, 3, 4, ...} — então o menor é 1. Fim da conversa. Mas assim que você amplia o domínio, a coisa muda completamente, e é aí que as pessoas começam a se perder. O problema real é que muitos livros didáticos tratam a definição de par e ímpar como se fosse absoluta, quando na verdade ela é construída em cima de uma definição de conjunto de partida. Paridade é uma relação de equivalência definida sobre um anel, e não faz sentido perguntar "qual é o menor?" sem especificar qual anel. Se você considerar os inteiros Z = {..., -3, -2, -1, 0, 1, 2, 3, ...}, então não existe menor número ímpar, porque a sequência dos ímpares negativos cresce indefinidamente para menos: ..., -7, -5, -3, -1. Não há elemento mínimo nesse conjunto.
o menor número ímpar na prática
O que acontece no dia a dia é que quase todo mundo opera implicitamente com os naturais N, e em N a resposta é 1. Mas mesmo aqui tem uma armadilha que pouca gente leva em conta: se o conjunto dos naturais incluir o zero — o que é padrão em teoria dos conjuntos e ciência da computação —, você precisa ter certeza de que não está confundindo "menor natural" com "menor ímpar". Zero é par. Então o menor ímpar continua sendo 1, mas a distinção importa quando você está escrevendo um algoritmo. Eu já passei por um problema específico com isso num sistema de validação de dados. Tínhamos uma função que verificava se um ID era ímpar para decidir se um registro seria enviado para um processador paralelo ou serial. O código usava um módulo (% 2 != 0) para testar paridade, e funcionava perfeitamente para inteiros positivos. Até que testamos com IDs negativos e o resultado mudou de comportamento dependendo da linguagem. Em Python, -3 % 2 resulta em 1, então a verificação funciona. Em JavaScript, -3 % 2 resulta em -1, o que também é diferente de zero, então tecnicamente ainda funciona. Mas em C, dependendo do padrão e da implementação, o resto de uma divisão negativa por 2 pode ser -1 ou 1, e isso quebra lógica condicional que assume um retorno fixo. A solução que adotei foi usar Math.abs(n) % 2 == 1 para normalizar antes do teste, ou melhor ainda, fazer uma verificação de bit com n & 1, que é imune a essas diferenças de sinal.
👉 Clique no botão abaixo para saber mais sobre o assunto!
Essa última dica — operador bit a bit — é algo que quase ninguém ensina quando fala de paridade, mas é o jeito mais confiável de checar se um inteiro é ímpar, independente de sinal e de linguagem. Um número é ímpar se e somente se seu bit menos significativo estiver definido. Isso é uma verdade estrutural, não uma conveniência de implementação. Outro ponto que merece atenção é a definição formal. Um número inteiro n é ímpar se existe um inteiro k tal que n = 2k + 1. Note que k pode ser negativo. Quando k = -1, temos n = -1. Quando k = -2, temos n = -3. Quando k = -1000, temos n = -1999. Isso mostra explicitamente por que não há menor ímpar em Z. Cada valor de k negativo gera um ímpar ainda menor. A sequência não tem cota inferior.
Se o contexto for números naturais N = {0, 1, 2, 3, ...}, a restrição é que k deve ser tal que 2k + 1 pertença a N. O menor k possível é 0, o que dá n = 1. Qualquer k negativo produziria um resultado fora de N. Daí a resposta ser 1. Existe ainda um terceiro cenário que as pessoas costumam ignorar: números pares como 0 são frequentemente o ponto de confusão. Alguém pode argumentar que, como 0 é o menor número natural e é par, o "seguinte" seria o menor ímpar. Isso é logicamente correto, mas é um raciocínio desnecessário. Você pode simplesmente listar os ímpares em ordem crescente e pegar o primeiro. A lista é 1, 3, 5, 7... e o primeiro elemento é 1.
Para quem trabalha com programação, a conclusão prática é: defina sempre o conjunto dos domínios dos seus dados. Se forem inteiros sem restrições de sinal, a pergunta "qual o menor número ímpar?" não tem resposta. Se forem naturais, é 1. Se forem positivos, também é 1. A ambiguidade surge apenas quando o conjunto não está explícito, e nessa situação a resposta errada é comum demais em código de produção.