Cod sursa(job #374724)

Utilizator zseeZabolai Zsolt zsee Data 18 decembrie 2009 00:55:50
Problema Ciurul lui Eratosthenes Scor 20
Compilator fpc Status done
Runda Arhiva educationala Marime 0.73 kb
program ize;
var n,p,c,k:longint;
    r:extended;
    be,ki:text;

function prim(x:longint):boolean;
var i:longint;
begin
 prim:=true;
 for i:=2 to round(sqrt(x)) do
   if (x mod i)=0 then
     begin
      prim:=false;
      exit;
     end;
end;

procedure kovprim(var p:longint);
var i:integer;
begin
 if p=2 then inc(p) else inc(p,2);
 while not prim(p) do inc(p,2);
end;

begin
 assign(be,'ciur.in');
 assign(ki,'ciur.out');
 reset(be);
 rewrite(ki);
 readln(be,n);
 r:=1;
 p:=2;
 c:=0;
 k:=1;
 while p*p <= n do
  begin
   c:=c+trunc(((n div p)-1)*r);
   writeln(p,' ',c,' ',r:6:3,' ',round(((n/p)-1)*r),' ',(n div p)-1);
   inc(k);
   r:=1/k;
   kovprim(p);
  end;
 writeln(ki,n-c-1);
 close(ki);
end.