Cod sursa(job #150408)

Utilizator andumMorie Daniel Alexandru andum Data 6 martie 2008 22:01:54
Problema Ciurul lui Eratosthenes Scor 0
Compilator fpc Status done
Runda Arhiva educationala Marime 0.77 kb
var v,s:array[1..2000002] of longint;
    n,i,j,k,nr:longint;
    f,g:text;
begin
     assign(f,'ciur.in');
     assign(g,'ciur.out');
     reset(f);
     rewrite(g);
     readln(f,n);
     close(f);
     for i:=1 to n do v[i]:=1;
     for i:=2 to n do
         if v[i]=1 then
            begin
             j:=2*i;
             inc(k);
             while j<=n do
                   begin
                    v[j]:=0;
                    j:=j+i;
                   end;
            end;
     writeln(g,k);
     for i:=n downto 2 do
         if v[i]=1 then
            begin
             inc(nr);
             s[nr]:=i;
             if nr=1000 then break;
            end;
     for i:=nr downto 1 do
               write(g,s[i],' ');
     close(g);
end.