Cod sursa(job #152349)

Utilizator DonPushmeMilitaru Adrian DonPushme Data 9 martie 2008 13:17:12
Problema Ciurul lui Eratosthenes Scor 0
Compilator fpc Status done
Runda Arhiva educationala Marime 0.76 kb
type vec=array[1..2000000] of integer;
     vec2=array[0..1000] of longint;
var v:vec;
    v2:vec2;
    n,i,k:longint;
    k1:integer;

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);
k1:=1;
for i:=n downto 2 do
        begin
        if v[i]=0 then
                        begin
                        v2[k1]:=i;
                        inc(k1);
                        end;
        if k1=1000 then break;
        end;
for i:=k1-1 downto 1 do
        write(v2[i],' ');
end.