Pagini recente » Cod sursa (job #1315342) | Cod sursa (job #542808) | Cod sursa (job #11997) | Cod sursa (job #741968) | Cod sursa (job #29496)
Cod sursa(job #29496)
{$I-,OBJECTCHECKS-,Q-,R-,S-}
program fractii;
var prime:array[1..1000000] of boolean;
n,i,j,k,o:longint;
la:qword;
lphi:double;
begin
assign(input,'fractii.in');
reset(input);
readln(n);
close(input);
fillchar(prime,n,true);
prime[1]:=false;
j:=trunc(sqrt(n));
i:=2;
while i<j do
begin
if prime[i] then
for k:=2 to n div i do
prime[k*i]:=false;
inc(i);
end;
la:=1;j:=2;
while j<=n do
begin
//phi
o:=j;
lphi:=j;
i:=2;
while o>1 do
begin
if o mod i=0 then
begin
lphi:=lphi*(1-1/i); o:=o div i;
while o mod i=0 do o:=o div i;
end;
repeat
inc(i);
until prime[i];
end;
la:=la+2*trunc(lphi);
inc(j);
end;
assign(output,'fractii.out');
rewrite(output);
writeln(la);
close(output);
end.