Crible d'ératosthène

Passage du crible

/* raye est un tableau de booléen initialisé à true, n est la limite de calcul des nombres premiers*/
raye[0] <== false
raye[1] <== false
prem <== 1
Tant que (prem * prem <= n) répéter
      /* recherche du premier entier non rayé */
      Répéter
           prem <= prem + 1 
       tant_que (prem <= n) ET (raye[prem] = false)
      /* suppression de tous les multiples de prem */
       i <== 2 * prem
     Tant que (i <= n) répéter
           raye[i] <== false

           i <== i + prem

     fin_tant_que
fin_tant_que