next up previous contents index
suivant: Traduction xcas monter: Un exemple : le précédent: Description   Table des matières   Index

Écriture de l'algorithme

Fonction crible(N)
local TAB PREM I P
// TAB et PREM sont des listes
{} ->TAB
{} ->PREM
pour I de 2 a N faire 
  concat(TAB, I) -> TAB
fpour
concat(0, TAB) -> TAB
2 -> P
// On a fait les points 1 et 2
//barrer 1 a ete realise en le remplacant par 0
//TAB est la liste 0 2 3 4 ...N
tantque P*P $ \leq$ N faire
  pour I de P a E(N/P) faire
//E(N/P) designe la partie entiere de N/P
    0 -> TAB[I*P]
  fpour
// On a barre tous les multiples de P a partir de P*P
  P+1 -> P
//On cherche le plus petit nombre <= N non barre (non nul) entre P et N
tantque (P*P $ \leq$ N) et (TAB[P]=0) faire
    P+1 -> P
  ftantque
ftantque
//on ecrit le resultat dans une liste PREM
pour I de 2 a N faire
si TAB[I] $ \neq$ 0 alors
      
    concat(PREM, I) -> PREM
  fsi
fpour
retourne PREM


Documentation de giac écrite par Renée De Graeve