begin

library A0, A1, A5, A15;

integer p, m, n, r;

n := 10 000;
writetext(30, {{c}number _ of _ primes _ below:});
write(30, format({nddddd}), n);
writetext(30, {:});

r := entier(2×sqrt(n));

   begin

   boolean array candidate [2 : n];

   comment deal with 2 separately;
   candidate[2] := true;
   for m := 4 step 2 until n do
      candidate[m] := false 

   comment now deal with the other factors;
   for p := 3 step 2 until n do
      candidate[p]:= true;

   for p := 3 step 2 until r do
      begin
      if candidate[p] then
         for m := p × p step p until n do
            candidate[m] := false
      end 

   m := 1; comment because 2 is prime;
   for p := 3 step 2 until n do
      if candidate[p] then m := m + 1;
   end 

write(30, format({ndddddc}), m);
close(30);

end
|