a_sieve.LST 573 B

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