Pag 184, Introd. to Program. with Mathematica. Búsqueda de los números primos de una lista. Criba de Eratóstenes.
Obtiene los números primos comprendidos en el intervalo desde 1 hasta N especificado.

\(primos[n_] := 
      Module[{primos = Table[i, {i, 1, n}], 
          p = 2}, 
		\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ Print["Inicial: primos=", primos, ", p= ", 
          p]; 
		\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ While[
          p ≠ n + 1, 
          Do[primos[[i]] = 1, {i, 2\ p, 
              n, p}]; 
			\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ p = 
            p + 1; 
			\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ While[
            p ≠ n + 1 && 
              primos[[p]] == 1, 
            p = p + 1]; 
			\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ Print["Iter.:primos=", 
            primos, ", p=", 
            p];
			\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ ]; 
\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ Select[
          primos, #1 ≠ 
              1 &]
	\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ ]\)

primos[50]