Cod sursa(job #518202)

Utilizator free2infiltrateNezbeda Harald free2infiltrate Data 30 decembrie 2010 18:40:29
Problema Ciurul lui Eratosthenes Scor 0
Compilator fpc Status done
Runda Arhiva educationala Marime 0.5 kb
program ciur;
var A : array [1..2000000] of boolean;
    f : text;
    N,i,j,nr,i2 : longint;
begin
assign(f,'ciur.in');
reset(f);
read(f,N);
close(f);

for i := 1 to N do
A[i] := true;

for i := 2 to n do
if A[i] then for j := 2 to n div i do A[i*j] := false;

nr := 0;

i := n;
i2 := 2;
repeat
dec(i);
if A[i] then inc(nr);
if nr=1000 then i2 := i;
until i=2;

assign(f,'ciur.out');
rewrite(f);
writeln(f,nr);

for i := i2 to n do
if A[i] then write(f,i,' ');

close(f);

end.