Prime Sieve
Encontre todos os números primos até um determinado limite usando o Crivo de Eratóstenes. Visualize primos em uma grade.
Grade de números (primos destacados)
Destacado = número primo
Números primos
2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97
Sobre esta ferramenta
Uma peneira de números primos é um algoritmo matemático que encontra eficientemente todos os números primos até um limite especificado. A peneira de Eratóstenes, desenvolvida há mais de dois mil anos, continua sendo um dos métodos mais rápidos para gerar listas de primos e é amplamente utilizada em criptografia, pesquisa em teoria dos números e educação. Esta ferramenta traz esse algoritmo clássico para seu navegador, permitindo que você explore interativamente a distribuição e as propriedades dos números primos.
Para usar esta ferramenta, digite o limite superior do seu intervalo de pesquisa e clique em "Encontrar Primos". A ferramenta exibirá instantaneamente todos os números primos até esse limite em um formato de grade, facilitando a visualização de sua frequência e padrões. Os casos de uso comuns incluem verificar números primos para projetos educacionais, gerar primos para algoritmos de criptografia, estudar as lacunas entre primos consecutivos e explorar curiosidades matemáticas sobre a distribuição de primos.
A peneira de Eratóstenes funciona marcando iterativamente os múltiplos de cada primo como compostos, deixando apenas os primos não marcados. Este método é muito mais rápido do que verificar cada número individualmente para divisibilidade. Para limites abaixo de um milhão, o cálculo é concluído quase instantaneamente; limites maiores podem levar alguns segundos dependendo do seu dispositivo. Esta ferramenta é perfeita para estudantes, matemáticos e qualquer pessoa curiosa sobre os blocos fundamentais da teoria dos números.
Perguntas Frequentes
Implementação de Código
def sieve_of_eratosthenes(limit: int) -> list[int]:
"""Return list of all primes up to limit."""
if limit < 2:
return []
is_prime = [True] * (limit + 1)
is_prime[0] = is_prime[1] = False
i = 2
while i * i <= limit:
if is_prime[i]:
for j in range(i * i, limit + 1, i):
is_prime[j] = False
i += 1
return [n for n, p in enumerate(is_prime) if p]
primes = sieve_of_eratosthenes(100)
print(primes)
# [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, ...]
print(f"Count: {len(primes)}") # Count: 25Comments & Feedback
Comments are powered by Giscus. Sign in with GitHub to leave a comment.