Présentation de l'algorithme :

Détermination du nombre premier d'un certain rang avec la méthode du crible d'Eratosthène.
Il faut entrer le rang du nombre premier à chercher et ce rang doit-être compris entre 1 et 1000.

Code de l'algorithme :
1     VARIABLES
2       i EST_DU_TYPE NOMBRE
3       j EST_DU_TYPE NOMBRE
4       n EST_DU_TYPE NOMBRE
5       est_premier EST_DU_TYPE LISTE
6       p EST_DU_TYPE NOMBRE
7       rang EST_DU_TYPE NOMBRE
8     DEBUT_ALGORITHME
9       LIRE rang
10      SI (rang>1 ET rang<=1000) ALORS
11        DEBUT_SI
12        //Hack : pour les 1000 premiers nbs premiers, il est inutile d'aller au-delà de 10*rang
13        n PREND_LA_VALEUR 10*rang
14        POUR i ALLANT_DE 1 A n
15          DEBUT_POUR
16          est_premier[i] PREND_LA_VALEUR 1
17          FIN_POUR
18        i PREND_LA_VALEUR 2
19        TANT_QUE (i<=n) FAIRE
20          DEBUT_TANT_QUE
21          j PREND_LA_VALEUR i*2
22          TANT_QUE (j<=n) FAIRE
23            DEBUT_TANT_QUE
24            est_premier[j] PREND_LA_VALEUR 0
25            j PREND_LA_VALEUR j+i
26            FIN_TANT_QUE
27          i PREND_LA_VALEUR i+1
28          TANT_QUE (i<=n ET est_premier[i]==0) FAIRE
29            DEBUT_TANT_QUE
30            i PREND_LA_VALEUR i+1
31            FIN_TANT_QUE
32          FIN_TANT_QUE
33        p PREND_LA_VALEUR 0
34        i PREND_LA_VALEUR 0
35        TANT_QUE (p<=rang ET i<n) FAIRE
36          DEBUT_TANT_QUE
37          i PREND_LA_VALEUR i+1
38          SI (est_premier[i]==1) ALORS
39            DEBUT_SI
40            p PREND_LA_VALEUR p+1
41            FIN_SI
42          FIN_TANT_QUE
43        AFFICHER "le "
44        AFFICHER rang
45        AFFICHER " ième nombre premier est : "
46        AFFICHER i
47        FIN_SI
48        SINON
49          DEBUT_SINON
50          AFFICHER "Rang trop grand ou trop petit!"
51          FIN_SINON
52    FIN_ALGORITHME

Fichier AlgoBox associé : nieme_nb_premier.alg (faire un clic-droit et utiliser l'option "enregistrer sous" pour télécharger le fichier)

Tester l'algorithme :


(cliquer sur le bouton ci-dessus pour lancer ou relancer l'exécution de l'algorithme)
Remarque : si les messages "Algorithme lancé" et "Algorithme terminé" n'apparaissent pas au bout d'un moment dans la zone ci-dessous, c'est que l'algorithme contient une erreur.

Résultats :