next up previous contents index
suivant: Traduction TI89/92 monter: Un exemple : le précédent: Écriture de l'algorithme   Table des matières   Index

Traduction Xcas

//renvoie la liste des nombres premiers<=n selon eratosthene
crible(n):={
  local tab,prem,p,j;
  tab:=[0,0];
  prem:=[];
  for (j:=2;j<=n;j++){
    tab:=append(tab,j);
  }
  p:=2;
  while (p*p<=n) {
    for (j:=p;j*p<=n;j++){
      tab[eval(j*p)]:=0;
    }
    p:=p+1;
    while ((p*p<=n) and (tab[p]==0)) {
      p:=p+1;
    } 
  }
  for (j:=2;j<=n;j++) {
    if (tab[j]!=0) { 
      prem:=append(prem,j);
    }
  } 
  return(prem);
};
ou avec les instructions françaises
//renvoie la liste des nombres premiers<=n selon eratosthene
crible(n):={
  local tab,prem,p,j;
  [0,0]=>tab;
  []=>prem;
  pour j de 2 jusque n faire
    append(tab,j)=>tab;
  fpour;
  2=>p;
  tantque (p*p<=n) faire
    pour j de p jusque n/p faire
      0=>tab[eval(j*p)];
    fpour
    p+1=>p;
    tantque ((p*p<=n) et (tab[p]==0)) faire
      p+1=>p;
    ftantque;
  ftantque;
  pour j de 2 jusque n faire
    si (tab[j]!=0) alors 
      append(prem,j)=>prem;
    fsi
  fpour
  retourne(prem);
};


Documentation de giac écrite par Renée De Graeve