Petits nombre premiers en -C-



I. Principe

Je parle de petits nombres premiers dans la mesure où j'utilise le type prédéfini long int pour les calculs.

Le calcul sur les grands nombres sera (est?) l'objet d'un autre article.

Il y a deux programmes:

premier.c
Génère le fichier prime.dat, qui contient les 1.500.000 premiers nombres premiers.

isprime.c
Utilise ce fichier. Il peut au choix vérifier si un nombre inférieur à 4.294.967.295 est premier, ou avoir le n-ième nombre premier. (toujours jusqu'à 1.000.700. )

II. Fichiers

Attention ! le fichier prime.dat est architecture-dépendant. Ce qui signifie qu'il n'est compatible qu'avec les machines little-endian comme l'intel, et qui a une taille de long-int d'exactement 4 octets.

Le fichier prime.dat contient 1 million de nombres premiers de 4 octets chacun Ça fait 4 Mo !!!.

III. Exemples

Clicker ici pour avoir une table de quelques nombres premiers

Les 4 premiers nombres premiers :
/aquila:~/c/misc> isprime 1 2 3 4
prime 1 = 2
prime 2 = 3
prime 3 = 5
prime 4 = 7


Est-ce que 1,2,3 et 4 sont premiers ?
aquila:~/c/misc> isprime -t 1 2 3 4
1 n'est pas premier
2 est le premier nombre premier
3 est le 2 eme nombre premier
4 n'est pas premier

Ultime exemple
aquila:~/c/misc> isprime -t 1234155533 4294967295 15744539
1234155533 n'est pas premier, il est divise par 13
4294967295 n'est pas premier, il est divise par 3
15744539 n'est pas premier, il est divise par 3571


Première version : 11/12/96
Auteur : Thomas Capricelli ( Page Web, e-mail : folium@carrosse.frmug.org)
Source : voir article
Relecture : None