Prime Sieve
Trova tutti i numeri primi fino a un limite dato usando il Crivello di Eratostene. Visualizza i numeri primi in una griglia.
Griglia numerica (numeri primi evidenziati)
Evidenziato = numero primo
Numeri primi
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
Informazioni sullo strumento
Un crivello di numeri primi è un algoritmo matematico che trova efficientemente tutti i numeri primi fino a un limite specificato. Il crivello di Eratostene, sviluppato più di duemila anni fa, rimane uno dei metodi più veloci per generare elenchi di numeri primi ed è ampiamente utilizzato in crittografia, ricerca nella teoria dei numeri e istruzione. Questo strumento porta l'algoritmo classico nel vostro browser, consentendovi di esplorare interattivamente la distribuzione e le proprietà dei numeri primi.
Per utilizzare questo strumento, inserite il limite superiore del vostro intervallo di ricerca e fate clic su "Trova numeri primi". Lo strumento visualizzerà istantaneamente tutti i numeri primi fino a tale limite in un formato a griglia, rendendo facile visualizzare la loro frequenza e i loro modelli. I casi di uso comuni includono la verifica dei numeri primi per progetti educativi, la generazione di numeri primi per algoritmi di crittografia, lo studio dei gap tra numeri primi consecutivi e l'esplorazione di curiosità matematiche sulla distribuzione dei numeri primi.
Il crivello di Eratostene funziona marcando iterativamente i multipli di ogni numero primo come numeri composti, lasciando solo i numeri primi non marcati. Questo metodo è molto più veloce rispetto a verificare ogni numero individualmente per divisibilità. Per limiti inferiori a un milione, il calcolo si completa quasi istantaneamente; limiti più grandi possono richiedere alcuni secondi a seconda del vostro dispositivo. Questo strumento è perfetto per gli studenti, i matematici e chiunque sia curioso dei blocchi fondamentali della teoria dei numeri.
Domande Frequenti
Implementazione del Codice
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.