Pagini recente » Cod sursa (job #1764497) | Cod sursa (job #1719610) | Cod sursa (job #1054292) | Cod sursa (job #585565) | Cod sursa (job #211495)
Cod sursa(job #211495)
program p_003c; {fractii}
var phi,p:array [1..1000010] of longint;
a,b:array [1..1000010] of longint;
n,i,j:longint;
nr:int64;
begin
assign(input,'fractii.in'); reset(input);
assign(output,'fractii.out'); rewrite(output);
readln(n);
for i:=1 to n do p[i]:=0;
for i:=2 to trunc(sqrt(n)) do
if p[i]=0 then
for j:=1 to n div i do p[i*j]:=i;
for i:=2 to n do
if p[i]=0 then p[i]:=i;
for i:=2 to n do begin
a[i]:=i;
while (a[i] mod p[i])=0 do a[i]:=a[i] div p[i];
b[i]:=i div a[i];
end;
for i:=2 to n do begin
if a[i]=1 then phi[i]:=i-i div p[i]
else phi[i]:=phi[a[i]]*phi[b[i]];
end;
nr:=1;
for i:=2 to n do
nr:=nr+2*phi[i];
writeln(nr);
close(input); close(output);
end.