home *** CD-ROM | disk | FTP | other *** search
- PROGRAM PRIME ;
- {Eratosthenes Sieve Prime Number program
- from Byte, vol. 8 no. 1, page 284 -- j. and G. Gilbreath }
-
- CONST SIZE = 8190 ;
-
- VAR
- FLAGS : ARRAY [0 .. SIZE] OF BOOLEAN ;
- I, PRIME, K, COUNT, ITER : INTEGER ;
-
- BEGIN
- WRITELN ( CHR(26), '10 ITERATIONS' ) ;
- FOR ITER := 1 TO 10 DO
- BEGIN
- COUNT := 0 ;
- FOR I := 0 TO SIZE DO
- FLAGS[I] := TRUE ;
- FOR I := 0 TO SIZE DO
- IF FLAGS[I] THEN
- BEGIN
- PRIME := I+I+3 ;
- {WRITELN (PRIME) ;}
- K := I + PRIME ;
- WHILE K <= SIZE DO
- BEGIN
- FLAGS[K] := FALSE ;
- K := K + PRIME
- END ;
- COUNT := COUNT + 1
- END ;
- END ;
- WRITELN ( COUNT,' PRIMES')
- END.