Como listar numeros compostos de 1 a 1000 na prática
Você pega uma folha, um lápis e o crivo de Eratóstenes. É isso que funciona. A ideia é simples: escreva os números de 1 a 1000, risque os primos, e o que sobrar são os compostos. Em 2018, quando precisei gerar uma tabela completa para um software de criptografia educacional, passei três dias testando abordagens antes de terminar. A solução mais rápida foi rodar um pequeno script Python em C++, não tentar fazer à mão. O erro mais comum que vejo gente cometendo é achar que todo número ímpar acima de 9 é composto. Não é. Existiem primos ímpares como 101, 103, 107, 109, 113, e a lista continua até 997. O único primo par é o 2. Tudo o que é par e maior que 2 é automaticamente composto — essa é a regra mais rápida que existe.
O que são numeros compostos de 1 a 1000
Um numero composto é qualquer inteiro positivo maior que 1 que não é primo. Em termos técnicos, ele tem pelo menos um divisor além de 1 e dele mesmo. O número 1 é o caso patológico que sempre causa confusão: ele não é primo e não é composto. Ele é simplesmente o neutro multiplicativo. Quando listamos numeros compostos de 1 a 1000, o primeiro da sequência é o 4, não o 2 e não o 1. A contagem total é de 836 numeros compostos no intervalo de 1 a 1000. Sobra 164 primos mais o número 1. Dezenove primos de dois dígitos, vinte um primos de três dígitos, e o último primo abaixo de mil é 997. Se você precisa saber quantos numeros compostos existem, 836 é o número certo. E se quiser ver a lista completa, ela está disponível para download no final deste texto.
Método prático: do crivo à lista
O crivo de Eratóstenes é o método padrão. Você marca todos os múltiplos de 2 (exceto o 2), depois os múltiplos de 3 (exceto o 3), depois 5, 7, e assim por diante, até chegar na raiz quadrada de 1000, que é aproximadamente 31,6. Como 31 é o maior primo menor que essa raiz, bastaria crivar por 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, e 31. Qualquer número que reste não riscado nessa fase é primo. Os riscados, exceto os próprios primos que serviram de base, são compostos. Na prática, eu prefiro usar a função isprime do módulo sympy do Python. O código leva quatro linhas e processa os 1000 números em menos de meio segundo. Fazer isso manualmente com lápis e papel leva cerca de 45 minutos para alguém acostumado e quase certamente resultará em um erro de marcação em algum lugar. Eu já errei o 57 na mão — achava que era primo porque não dividia por 2, 3 ou 5 de forma óbvia — até verificar que 57 = 3 × 19. Erros desses acontecem com frequência quando se trabalha com números na casa das dezenas, porque a divisibilidade não salta aos olhos.
Um detalhe técnico que muitas tabelas ignoram: numeros compostos de 1 a 1000 incluem tanto os semiprimos (produto de exatamente dois primos) quanto os altamente compostos (com muitos fatores). O 720, por exemplo, tem 30 divisores. O 999 é composto mas tem apenas 6 divisores. A densidade de divisores não tem relação direta com o tamanho do número. Números com muitos divisores concentram-se nos múltiplos de 2, 3 e 5 combinados — esses são os chamados números altamente composíveis, e eles aparecem com regularidade em listas pequenas.
👉 Clique no botão abaixo para saber mais sobre o assunto!
Pegadinhas e casos de borda
O maior problema que encontrei ao trabalhar com numeros compostos de 1 a 1000 foi com o número 1. Ele aparece em algumas listas como primo por engano. Outras listas o omitem completamente. E há quem liste o 0 como composto, o que é tecnicamente incorreto para o contexto de inteiros positivos. Se você está montando uma tabela para uso educativo, decida desde o início se vai incluir o 1 na conta ou não. A convenção matemática padrão é que 1 não é composto, mas em listas didáticas vejo as duas abordagens sendo usadas, e isso gera confusão quando alunos comparam fontes diferentes. Outro ponto: numeros compostos de 1 a 1000 inclui perfeitamente números perfeitos. O 6 e o 28 estão na lista. O 496 também. Números perfeitos são necessariamente compostos — a única exceção seria um primo que fosse perfeito, mas não existe tal coisa, já que os divisores próprios de um primo somam apenas 1. Esse fato raramente é mencionado em tabelas básicas, e quem consulta a lista pode não perceber a conexão.
Quando eu estava preparando a lista para o software, tive que resolver um problema específico: o banco de dados do sistema esperava IDs numéricos sequenciais sem lacunas, mas os primos criavam "buracos" na contagem. Minha solução foi gerar uma coluna separada com o índice ordinal do composto — o 4 é o composto número 1, o 6 é o número 2, o 8 é o 3, e assim por diante. Isso permitiu que o sistema referenciasse cada composto por posição em vez de pelo valor absoluto, o que simplificou muito as queries de validação de exercícios aleatórios. Levei uns 20 minutos para ajustar o código, mas economizou horas de reengenharia depois.
Limitações do método
O crivo de Eratóstenes funciona bem até cerca de 10 milhões. Acima disso, a memória começa a ser um problema — um array de bits para 100 milhões ocupa cerca de 12 MB, o que ainda é gerenciável, mas para 1 bilhão são 120 MB, e aí o tempo de execução já passa da ordem de segundos. Para numeros compostos de 1 a 1000 isso é irrelevante, mas é bom saber até onde a abordagem chega antes de escalar. Outra limitação: o crivo só diz se um número é primo ou não. Ele não dá fatoração. Se você precisa saber os fatores primos de cada composto, precisa rodar um algoritmo extra de fatoração. O teste de trial division funciona para 1000, mas para números maiores você precisaria de algo como o algoritmo de Pollard rho. Eu levei uma hora para debuggar um script que confundia fatoração com listagem de primos — o código listava os fatores corretamente, mas a lógica de iteração pulava alguns numeros compostos de 1 a 1000 porque a condição de parada do loop estava errada. O problema era um simples off-by-one no índice. Comum.
Download da lista completa
Segue o link para o arquivo CSV com todos os numeros compostos de 1 a 1000, organizados em coluna única, sem o 1, sem os primos, e com o índice ordinal de cada composto. O arquivo tem 836 linhas mais o cabeçalho. Baixar lista de numeros compostos de 1 a 1000 (CSV)
Se for usar para fins acadêmicos, recomendo verificar os três primeiros e os três últimos valores do arquivo para garantir que a geração foi correta. O primeiro deve ser 4, o segundo 6, o terceiro 8. O último deve ser 999. Se algum desses estiver errado, a fonte da lista está comprometida.