Cod sursa(job #144650)

Utilizator CezarMocanCezar Mocan CezarMocan Data 27 februarie 2008 20:33:43
Problema Ciurul lui Eratosthenes Scor 0
Compilator fpc Status done
Runda Arhiva educationala Marime 0.74 kb
var n,i,j,nr:longint;
    sol:array[0..1024] of longint;
    v:array[1..2000001] of byte;

begin
assign(input,'ciur.in');reset(input);
assign(output,'ciur.out');rewrite(output);
readln(n);
for i:=2 to trunc(sqrt(n)) do
        if v[i]=0 then
                begin
                for j:=2 to n div i do
                        v[i*j]:=1;
                end;
for i:=2 to n do
        if v[i]=0 then
                begin
                inc(sol[0]);
                sol[sol[0]]:=i;
                end;
writeln(sol[0]);
if sol[0]>=1000 then
        for i:=sol[0]-1000+1 to sol[0] do
                write(sol[i],' ')
else
        for i:=1 to sol[0] do
                write(sol[i],' ');
writeln;
close(input);close(output);
end.