Cod sursa(job #1132501)

Utilizator Alex1199Alex Bercea Alex1199 Data 3 martie 2014 15:37:53
Problema Fractii Scor 100
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.66 kb
//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.