Cod sursa(job #146177)

Utilizator DanielGGlodeanu Ioan Daniel DanielG Data 1 martie 2008 12:23:35
Problema Ciurul lui Eratosthenes Scor 0
Compilator fpc Status done
Runda Arhiva educationala Marime 0.49 kb
var n,i,j:longint;
a:array[0..1000] of longint;
v:array[1..2000001] of 0..1;
f,g:text;
begin
assign(f,'ciur.in');reset(f);
assign(g,'ciur.out');rewrite(g);
read(f,n);
for i:=2 to trunc(sqrt(n)) do
if v[i]=0 then
begin
for j:=2 to n do
v[i*j]:=1;
end;
for i:=2 to n do
if v[i]=0 then
begin
inc(a[0]);
a[a[0]]:=i;
end;
writeln(g,a[0]);
if a[0]>=1000 then
for i:=a[0]-1000+1 to a[0] do
write(g,a[i],' ')
else
for i:=1 to a[0] do
write(g,a[i],' ');
close(f);
close(g);
end.