Numeros Compostos De 1 A 100 - Números Compostos De 1 A 200 - FDPLEARN
Números Compostos De 1 A 200 - FDPLEARN

O que são números compostos e como lidar com eles na prática

Números compostos são aqueles que têm mais de dois divisores. Diferente dos primos, que só se dividem por 1 e por eles mesmos, os compostos se quebram em pelo menos um par de fatores além disso. Não tem muito mistério, mas quando você precisa identificar rapidamente todos eles entre 1 e 100, o método mais confiável ainda é peneirar pela crivo de Eratóstenes e marcar tudo que sobrar. O processo funciona assim: você lista os números de 2 a 100, começa riscando os múltiplos de 2 (exceto o próprio 2), depois os de 3 (exceto o 3), continua com 5, 7, e para quando o quadrado do primo seguinte passar de 100. O que não for riscado é primo. O que foi riscado é composto. Simples, mas rápido demais para ser subestimado.

numeros compostos de 1 a 100

A lista completa, sem enrolação, é: 4, 6, 8, 9, 10, 12, 14, 15, 16, 18, 20, 21, 22, 24, 25, 26, 27, 28, 30, 32, 33, 34, 35, 36, 38, 39, 40, 42, 44, 45, 46, 48, 49, 50, 51, 52, 54, 55, 56, 57, 58, 60, 62, 63, 64, 65, 66, 68, 69, 70, 72, 74, 75, 76, 77, 78, 80, 81, 82, 84, 85, 86, 87, 88, 90, 91, 92, 93, 94, 95, 96, 98, 99, 100. São 74 números compostos no total dentro desse intervalo. Os primeiros cinco são 4, 6, 8, 9 e 10. Note que o 1 não entra nessa lista — ele não é primo nem composto, e isso pega muita gente desprevenida. Na minha experiência, o erro mais comum não é errar a lista em si, mas sim confundir números ímpares com primos. Todo mundo acha que 9, 21, 25, 27, 33, 35, 39, 49, 51, 55, 57, 65, 69, 77, 81, 85, 87, 91, 93, 95 e 99 são primos porque são ímpares. Eles não são. Todos esses são compostos, e o crivo mostra isso em segundos se você passar os divisores corretos. O 51, por exemplo, divide por 3 e dá 17. O 91 divide por 7 e dá 13. O 77 divide por 7 e 11. Ninguém pensa nesses divisores na hora, e aí a lista fica errada.

Outra coisa que todo mundo deixa passar: o 1. Ele aparece em exercícios, questões de concurso, listas de verificação. A regra é clara — 1 não tem dois divisores distintos, então não se encaixa em nenhuma das duas categorias. Se você o incluir como composto ou como primo, a resposta já começa errada. Eu já vi planilhas inteiras de alunos levarem pontos a menos por causa disso em provas de matemática discreta. Para quem precisa gerar essa lista automaticamente, o script mais direto em Python leva menos de 2 segundos para rodar em qualquer máquina moderna:

👉 Clique no botão abaixo para saber mais sobre o assunto!

def crivo(n):
  sieve = [False, False] + [True] * (n - 1)
  for p in range(2, int(n0.5) + 1):
    if sieve[p]:
      for i in range(p * p, n + 1, p):
        sieve[i] = False
  primos = [i for i, is_p in enumerate(sieve) if is_p]
  compostos = [i for i, is_p in enumerate(sieve) if not is_p and i > 1]
  return compostos Esse código retorna exatamente os 74 números que listei acima quando chamado com n=100. Se você precisa expandir para outro intervalo, basta trocar o argumento. O limite real de performance não é o algoritmo — é o tamanho da memória alocada para a array booleana, que cresce linearmente com n.

Há um detalhe que raramente aparece em material didático: números compostos perfeitamente não-squares (como 6, 10, 12, 14) têm fatoração única em primos distintos multiplicados, enquanto quadrados perfeitos compostos (4, 9, 25, 49) e potências de primos (8, 16, 27, 32, 64) têm estruturas diferentes que afetam como você os manipula em criptografia ou teoria dos números. O 49, por exemplo, é 7². O 121 seria 11² e já está fora do nosso range. Saber distinguir esses subtipos evita erros em problemas que exigem fatoração canônica ou cálculo de phi de Euler. O crivo de Eratóstenes em si tem uma limitação prática: ocupa memória O(n). Para intervalos pequenos como 1 a 100 isso é irrelevante, mas se você precisar escalar para milhões, esse abordagem ingênua trava. Nesse caso, o crivo segmentado é a alternativa — ele processa o intervalo em blocos de memória menores, mantendo a mesma complexidade temporal mas reduzindo o uso de RAM para algo como O(n + bloco). Não adianta usar isso para números compostos de 1 a 100, mas é informação útil se o problema crescer.

Se você quer baixar a lista formatada, qualquer gerador de sequência numérica básico produz o arquivo. O mais prático é rodar o script acima e salvar os resultados como CSV: um comando print no final com os valores separados por vírgula resolve em menos de um segundo, sem depender de bibliotecas externas.