Entendendo múltiplos de 2 acima de 300
A resposta direta é 302. Mas o que costuma causar confusão não é o cálculo em si, e sim a forma como as pessoas interpretam a palavra "múltiplo" quando aparecem condições de fronteira. Já vi gente travada em planilhas por causa disso, tentando aplicar fórmulas desnecessariamente complexas quando uma divisão simples resolveria.
Qual é o menor múltiplo de 2 maior que 300
O método mais direto é dividir 300 por 2, ver o quociente e subir para o próximo inteiro, depois multiplicar de volta. 300 dividido por 2 dá exatamente 150. Como 150 já é inteiro, o próximo múltiplo é 151 vezes 2, que resulta em 302. A condição "maior que 300" elimina o próprio 300, que embora seja múltiplo de 2, não satisfaz o estritamente maior. Em código, isso fica ainda mais óbvio. Basta pegar o resto da divisão de 300 por 2 e somar ao próximo par. Quando o resto é zero — como acontece aqui — você adiciona 2. Quando o resto é 1, você adiciona 1. Parece trivial, mas esse é exatamente o tipo de detalhe que quebra scripts em processamento em lote quando você menos espera.
👉 Clique no botão abaixo para saber mais sobre o assunto!
Eu tive um problema específico com isso num sistema de agrupamento de pedidos. O cliente queria lotes de tamanho par, mas os registros chegavam em quantidade ímpar. Meu primeiro chute foi arredondar para cima usando Math.ceil, mas em alguns cenários o campo vinha zerado e a lógica simplesmente não entrava. A solução foi tratar o caso onde o valor já era par como exceção e somar 2 explicitamente, em vez de confiar só na função de arredondamento. Isso economizou cerca de três horas de debug que eu estava perdendo acompanhando o fluxo. Um insight que pouca gente comenta: muitos confundem "maior que" com "maior ou igual a". Se a pergunta fosse "maior ou igual a 300", a resposta seria 300, não 302. Essa distinção importa muito quando você monta consultas SQL ou filtros em APIs, porque um simples > versus >= muda completamente o resultado retornado.
Outra coisa que passa despercebida é que múltiplos de 2 são, por definição, os números pares. Então tecnicamente você está procurando o primeiro par após 300. Em contextos mais avançados, como criptografia ou geração de hash, trabalhar com múltiplos de potência de 2 exige atenção ao alinhamento de memória. Números como 302 não causam problemas de cache line, mas se você escalasse para múltiplos de 256 ou 1024, o alinhamento passa a importar de verdade. Se você está construindo algo que precisa calcular isso repetidamente, evite iterar de um em um a partir de 301 checando se é par. Use a fórmula direta: ((n / divisor) + 1) * divisor, onde n é 300 e divisor é 2. Em Python, por exemplo, isso seria `(300 // 2 + 1) * 2`, que retorna 302 instantaneamente, sem loop algum. Em JavaScript, a mesma coisa com `Math.floor(300 / 2 + 1) * 2`.
Às vezes a pergunta parece simples demais e as pessoas acabam supercomplicando por insegurança. Não é o caso aqui. O menor múltiplo de 2 estritamente maior que 300 é 302. Se encontrar algum cenário onde isso não se aplique, provavelmente é porque há uma condição adicional que não foi declarada na pergunta original.