Cod sursa(job #184175)

Utilizator radu_voroneanuVoroneanu Radu Stefan radu_voroneanu Data 23 aprilie 2008 11:43:30
Problema Fractii Scor 100
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.46 kb
var phi:array[2..1000000] of longint;
    f,g:text;
    i,j,n:longint;
    sum:int64;
begin
 assign(f,'fractii.in'); reset(f);
 assign(g,'fractii.out'); rewrite(g);
 read(f,n);
 for i:=2 to n do
  phi[i]:=i;
 for i:=2 to n do
  if phi[i]=i then begin
   j:=i;
   while (j<=n) do begin
    phi[j]:=phi[j]-(phi[j] div i);
    inc(j,i);
   end;
  end;
 sum:=1;
 for i:=2 to n do
  sum:=sum+phi[i] shl 1;
 writeln(g,sum);
 close(f); close(g);
end.