Cod sursa(job #144718)

Utilizator AndreiDDiaconeasa Andrei AndreiD Data 27 februarie 2008 21:28:17
Problema Ciurul lui Eratosthenes Scor 0
Compilator fpc Status done
Runda Arhiva educationala Marime 0.64 kb
var n,i,j:longint;
    s:array[0..1024] of longint;
    v:array[1..200000] of byte;
f,g:text;
begin
assign(f,'ciur.in');reset(f);
assign(g,'ciur.out');rewrite(g);
readln(f,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(s[0]);
                s[s[0]]:=i;
                end;
writeln(g,s[0]);
if s[0]>=1000 then
        for i:=s[0]+1-1000 to s[0] do
                    write(g,s[i],' ')
else
for i:=1 to s[0] do
                write(g,s[i],' ');
writeln(g);
close(f);
close(g);
end.