Cod sursa(job #56554)
Utilizator | Data | 29 aprilie 2007 21:01:02 | |
---|---|---|---|
Problema | Fractii | Scor | 40 |
Compilator | fpc | Status | done |
Runda | Arhiva de probleme | Marime | 0.45 kb |
var n,nr,phi,r:int64;
i,j:longint;
f,g:text;
begin
assign(f,'fractii.in'); reset(f);
assign(g,'fractii.out'); rewrite(g);
read(f,n);
r:=1;
for i:=2 to n do begin
nr:=i;
phi:=nr;
for j:=2 to trunc(sqrt(n)) do begin
if nr mod j=0 then
phi:=(phi*(j-1)) div j;
while nr mod j=0 do
nr:=nr div j;
end;
if nr>1 then
phi:=(phi*(nr-1)) div nr;
r:=r+2*phi;
end;
writeln(g,r);
closE(f); close(g);
end.