Pagini recente » Cod sursa (job #129785) | Cod sursa (job #526841) | Cod sursa (job #1598146) | Cod sursa (job #526839) | Cod sursa (job #152397)
Cod sursa(job #152397)
type vec=array[1..2000000] of 0..1;
vec2=array[1..2000] of longint;
var v:vec;
v2:vec2;
n,i,j,k:longint;
procedure ciur;
var i,j:longint;
begin
k:=0;
for i:=2 to n do
if v[i]=0 then
begin
inc(k);
j:=i+i;
while j<=n do
begin
v[j]:= 1;
j:=j+i;
end;
end;
end;
begin {main}
assign(input,'ciur.in');reset(input);
assign(output,'ciur.out');rewrite(output);
read(n);
ciur;
writeln(k);
if k>1000 then
begin
j:=0;
i:=n;
while j<1000 do
begin
if v[i]=0 then
begin
inc(j);
v2[j]:=i;
end;
i:=i-1;
end;
for j:=1000 downto 1 do
write(v2[j],' ');
end
else
for i:=2 to n do
if v[i]=0 then write(i,' ');
end.