Cod sursa(job #518202)
Utilizator | Nezbeda 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.