Contagem de primos em um intervalo pequeno
A primeira coisa que as pessoas erram aqui é incluir o 1 na lista de números primos. Eu já vi planilhas inteiras comprometidas por isso. O número 1 não é primo por definição — um primo tem exatamente dois divisores positivos, e o 1 tem apenas um. O 0 também não é primo, então descartamos logo os dois primeiros valores.
entre 0 e 30 quantos números primos é possível identificar
Para identificar os primos entre 0 e 30, o método prático é o Crivo de Eratóstenes. Você escreve todos os números do 2 ao 30, marca o 2 como primo e risc múltiplos de 2. Depois pega o próximo número não riscado — o 3 — e risca seus múltiplos. Repete até a raiz quadrada do limite superior, que aqui é arredondadamente 5,47, então basta chegar no 5. O que sobrar são os primos. Aplicando isso, os números primos entre 0 e 30 são: 2, 3, 5, 7, 11, 13, 17, 19, 23 e 29. Isso dá um total de 10 números primos no intervalo fechado de 0 a 30. Se o intervalo for aberto nos extremos, o resultado não muda porque nem 0 nem 30 são primos de qualquer jeito.
👉 Clique no botão abaixo para saber mais sobre o assunto!
Na prática, já me deparei com alguém que estava validando chaves criptográficas e confundiu primo com ímpar. O resultado foi uma lista com 14 candidatos, quase metade dos quais compostos. A correção foi implementar o crivo diretamente em vez de confiar em uma verificação ingênua de divisibilidade por 3 e 5 apenas. Testar divisão por todos os números até a raiz quadrada é o mínimo aceitável para intervalos pequenos. Um detalhe que poucos lembram: o 2 é o único primo par. A partir daí, todos os primos são ímpares, mas nem todo ímpar é primo. Esse é o erro mais comum em implementações simplificadas que filtram apenas por paridade.
Para intervalos maiores, o Crivo de Eratóstenes tradicional consome memória proporcional ao limite. Se você precisar trabalhar com faixas acima de milhões, vale considerar o Crivo Segmentado, que processa apenas fatias da faixa numérica. Para o caso entre 0 e 30, obviamente isso é overengineering, mas é bom saber que a alternativa existe quando o problema escala. Outro ponto técnico: a densidade dos primos diminui conforme o número cresce. Entre 0 e 30 temos 10 primos em 31 valores, o que dá cerca de 32%. Na mesma proporção, entre 0 e 100 seriam 25 primos, aproximadamente 25%. A função de contagem primes pi(x) estima isso de forma assintótica por x/ln(x), mas para números pequenos a aproximação já começa a mostrar desvio relevante.
Se você estiver automatizando isso, uma implementação simples em Python leva menos de 5 linhas e roda em milissegundos para esse intervalo. Qualquer coisa que envolva bibliotecas pesadas só para contar primos em um range tão pequeno é desnecessário. Código simples e direto resolve. O resultado final permanece: existem exatamente 10 números primos entre 0 e 30. Nada mais, nada menos. Qualquer resposta diferente indica erro de definição ou de contagem em algum ponto do processo.