Pagini recente » Statistici Czupper Mihaela Carina (mihaelacarina) | Cod sursa (job #3285214) | Cod sursa (job #615670) | Rating Cristian Andrei Popescu (kikiandrei) | Cod sursa (job #1328)
Cod sursa(job #1328)
uses timer;
var phi:array[0..500000] of longword;
i,j,k,n:longint;
procedure smart; inline;
var i,j,doi,jum:longint;
rez:qword;
k:longword;
begin
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(rez, k); inc(j, doi);
end;
end;
rez:=rez+int64(n-1)*n div 2-int64(jum-1)*jum div 2;
writeln(2*rez-1);
end;
begin
start;
assign(input,'fractii.in'); reset(input);
assign(output,'fractii.out'); rewrite(output);
readln(n);
smart;
scurs;
close(input); close(output);
end.