a_sieve.mod 414 B

12345678910111213141516171819
  1. MODULE ASieve;
  2. VAR isP : ARRAY [2 .. 30] OF BOOLEAN; i, j, n, s : INTEGER; ExitCode : INTEGER;
  3. BEGIN
  4. FOR i := 2 TO 30 DO isP[i] := TRUE END;
  5. FOR i := 2 TO 5 DO
  6. IF isP[i] THEN
  7. j := i * i;
  8. WHILE j <= 30 DO
  9. isP[j] := FALSE;
  10. j := j + i
  11. END
  12. END
  13. END;
  14. s := 0; n := 0;
  15. FOR i := 2 TO 30 DO
  16. IF isP[i] THEN s := s + i; n := n + 1 END
  17. END;
  18. ExitCode := s
  19. END ASieve.