home *** CD-ROM | disk | FTP | other *** search
/ ftp.barnyard.co.uk / 2015.02.ftp.barnyard.co.uk.tar / ftp.barnyard.co.uk / cpm / walnut-creek-CDROM / ENTERPRS / CPM / UTILS / S / TPASPGM.ARC / PRIME.PAS < prev    next >
Pascal/Delphi Source File  |  1989-09-27  |  1KB  |  34 lines

  1. PROGRAM PRIME ;
  2. {Eratosthenes Sieve Prime Number program
  3.  from Byte, vol. 8 no. 1, page 284 -- j. and G. Gilbreath }
  4.  
  5. CONST   SIZE = 8190 ;
  6.  
  7. VAR
  8.         FLAGS : ARRAY [0 .. SIZE] OF BOOLEAN ;
  9.         I, PRIME, K, COUNT, ITER : INTEGER ;
  10.  
  11. BEGIN
  12.         WRITELN ( CHR(26), '10 ITERATIONS' ) ;
  13.         FOR ITER := 1 TO 10 DO
  14.             BEGIN
  15.                 COUNT := 0 ;
  16.                 FOR I := 0 TO SIZE DO
  17.                         FLAGS[I] := TRUE ;
  18.                 FOR I := 0 TO SIZE DO
  19.                         IF FLAGS[I] THEN
  20.                             BEGIN
  21.                                 PRIME := I+I+3 ;
  22.                                 {WRITELN (PRIME) ;}
  23.                                 K := I + PRIME ;
  24.                                 WHILE K <= SIZE DO
  25.                                     BEGIN
  26.                                         FLAGS[K] := FALSE ;
  27.                                         K := K + PRIME
  28.                                     END ;
  29.                                 COUNT := COUNT + 1
  30.                             END ;
  31.             END ;
  32.         WRITELN ( COUNT,' PRIMES')
  33. END.
  34.