home *** CD-ROM | disk | FTP | other *** search
/ Crawly Crypt Collection 1 / crawlyvol1.bin / crm_demo / p_pascal / sieve.pas < prev    next >
Pascal/Delphi Source File  |  1992-03-10  |  575b  |  29 lines

  1. program sieve;
  2.  
  3. const
  4.   size = 8190;
  5.  
  6. var
  7.   flags: array [0..size] of boolean;
  8.   i, k, prime, count, iter: integer;
  9.  
  10. begin
  11.   writeln('10 Iterations');
  12.   for iter := 1 to 100 do begin
  13.     for i := 0 to size do flags[i] := true;
  14.     count := 0;
  15.     for i := 0 to size do begin
  16.       if flags[i] then begin
  17.         prime := i + i + 3;
  18.         k := i + prime;
  19.         while k <= size do begin
  20.           flags[k] := false;
  21.           k := k + prime;
  22.         end;
  23.         count := count +  1;
  24.       end;
  25.     end;
  26.   end;
  27.   writeln(count, ' primes');
  28. end.
  29.