/* Esempio 4: il crivello di Eratostene (calcolo numeri primi) (senza controllo su range array) */ array primi[5000]; var nMax, x; writemsg "Numero massimo da considerare? "; read nMax; //inizializzazione array for (x, 2, nMax) primi[x] = 1; //1 per true var numero, multiplo; for (numero, 2, nMax) if (primi[numero] == 1) { multiplo = numero * 2; while (multiplo <= nMax) { primi[multiplo] = 0; //assegna false multiplo = multiplo + numero; } } writemsg "Elenco primi: "; for (numero, 2, nMax) if (primi[numero] == 1) { write numero; writemsg " "; } writeln;