Cod sursa(job #8884)

Utilizator Adrian001Vladulescu Adrian Adrian001 Data 25 ianuarie 2007 22:16:46
Problema Fractii Scor 30
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.53 kb
Program cel;
var f,g:text;
    n,nr,i,xx,d,phi:longint;
    divizor:boolean;
Begin
Assign(f,'fractii.in');Reset(f);
Assign(g,'fractii.out');Rewrite(g);
Read(f,n);
nr:=1;
For i:=2 to n do
 Begin
  xx:=i;
  phi:=i;
  d:=2;
  repeat
   divizor:=false;
   While xx mod d=0 do
    Begin
     xx:=xx div d;
     divizor:=true;
    end;
    If divizor then phi:=(phi div d)*(d-1);
    If d mod 2=0 then inc(d)
                 else inc(d,2);
  until xx=1;
  nr:=nr+2*phi;
 end;
Write(g,nr);
Close(f);
Close(g);
end.