home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Media Share 9
/
MEDIASHARE_09.ISO
/
progmisc
/
euphor10.zip
/
SIEVE.PAS
< prev
next >
Wrap
Pascal/Delphi Source File
|
1993-05-31
|
880b
|
46 lines
program main(input, output);
{ Prime Sieve Benchmark }
const
ITERATIONS = 1000;
SIZE = 8190;
ON = true;
OFF = false;
var
count: integer;
flags: array[0 .. SIZE] of boolean;
procedure sieve;
var
i, k, prime: integer;
iter, t: integer;
begin
for iter := 1 to ITERATIONS do
begin
count := 0;
{ turn flags on }
for i := 0 to SIZE do
flags[i] := ON;
for i := 0 to SIZE do
begin
if flags[i] then
begin
prime := i + i + 3;
{ writeln(prime); }
k := prime + i;
while k <= SIZE do
begin
flags[k] := OFF;
k := k + prime;
end;
count := count + 1;
end;
end;
end;
end;
begin
sieve;
writeln(count, ' primes');
end.