Prime Numbers

Sono sempre stao affascinato dalle succesioni numeriche e soprattutto dai numeri primi, così nasce Prime Numbers. Il mio primo vero programma scritto in linguaggio C. Tutti noi percepiamo la "potenza" dei numeri primi, sono tutti quei numeri "imprendibili" ancora oggi che vengono utilizzati negli algortimi di crittografia. Tutto nasce da una semplice definizione "un numero primo è un numero naturale che può essere ottenuto solo moltiplicando se stesso per 1". Ne deriva che non può essere diviso per nessun numero senza un resto, tranne dividendolo per 1 e per se stesso. Per definizione 1 non è un numero primo, 2 è l'unico numero primo pari che esisista. Consiglio un libro per chi volesse approfondire la storia delle ricerca dei numeri primi: Marcus Du Sautoy, "L'enigma dei numeri primi - L'ipotesi di Riemann, il più grande mistero della matematica", BUR Rizzoli.

Come funziona?

Prime Numbers ha un algortimo che gli permette di controllare tutti i divisori di un numero n minori della radice quadrata di n, esclude "a monte" il controllo dei numeri pari tranne 2 e con altri piccoli accorgimenti questo gli permette di avere una buona velocità di esecuzione. Prime Numbers è stato sviluppato e testato su architetture a 64 bit. Il valore massimo dell'intervallo dipende dal tipo di macchina che utilizzate, nella maggior parte dei casi sotto UNIX il valore massimo è 18.446.744.073.709.551.615

Come si usa?

Prime Numbers deve essere eseguito da terminale e necessita di alcuni parametri per la corretta esecuzione.

Usage: prime_number -f [n] -t [n] -o [file]
Options:
-f Start from [number]
-t Finish to [number]
-o Write on file

-h --help Display this information
-v Active verbose mode, shows prime numbers, else shows a percent


Esempio, determinare i numeri primi compresi tra 0 e 100:

./prime_number -f 2 -t 100 -o primi.txt


Versioni

Prime Numbers v1.2 (x64)

Data: 12/12/2010
Caratteristiche:
  • Compilato su Ubuntu 10.10 x64 bit
  • Parametri da passare dalla linea di comando


Prime Numbers v1.2 (Win x32/x64)

Data: 12/12/2010
Caratteristiche:
  • Compilato su una virtual machine windows XP 32 bit
  • Parametri da passare dalla linea di comando