home *** CD-ROM | disk | FTP | other *** search
/ Programmer 7500 / MAX_PROGRAMMERS.iso / PASCAL / MADTRB3.ZIP / SIEVE.PAS < prev    next >
Encoding:
Pascal/Delphi Source File  |  1984-05-02  |  773 b   |  37 lines

  1. const
  2.  size = 8190;
  3.  sizepl = 8191;
  4.  
  5. type
  6.     flagarray = array [0..sizepl] of boolean;
  7. var
  8.     i,prime,k,count,iter : integer;
  9.     flags : flagarray;
  10.  
  11. begin
  12.     writeln('10 iterations');
  13.     readln;
  14.     for iter:=1 to 10 do
  15.     begin
  16.         count:=0;
  17.         for i:= 0 to size do flags[i]:=true;
  18.         for i:=0 to size do
  19.         begin
  20.             if flags[i] then
  21.             begin
  22.                 prime:= i+i+3;
  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.     end;
  33.  
  34. writeln;
  35. writeln(count,' primes');
  36. end.
  37.