Cod sursa(job #265335)
Utilizator | Data | 23 februarie 2009 19:50:37 | |
---|---|---|---|
Problema | Fractii | Scor | 0 |
Compilator | fpc | Status | done |
Runda | Arhiva de probleme | Marime | 0.57 kb |
var phi:array[1..32000]of integer;
i,j,doi,jum,n:longint;
rez:longint;
k:longint;
f,g:text;
begin
assign(f,'fractii.in');reset(f);
assign(g,'fractii.out');rewrite(g);
readln(f,n);
rez:=1;jum:=n div 2;
for i:=2 to jum do phi[i]:=i-1;
for i:=2 to jum do
begin
k:=phi[i];
doi:=2*i;
j:=3*i;
while (j<=jum) do
begin
dec(phi[j],k);
inc(j,doi);
end;
while (j<=n) do
begin
dec(phi[j],k);
inc(j,doi);
end;
end;
rez:=rez+(n-1)*n div 2-(jum-1)*jum div 2;
writeln(g,2*rez-1);
end.