Cod sursa(job #577024)

Utilizator andreifirstCioara Andrei Ioan andreifirst Data 9 aprilie 2011 18:03:07
Problema Sum Scor 100
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.64 kb
var v:array [1..100000] of longint;
    i, j, n, x:longint;
    buf1, buf2:array [1.. 1 shl 17] of char;
    sum:int64;
    f, g:text;

begin
assign (f, 'sum.in'); settextbuf (f, buf1); reset (f);
assign (g, 'sum.out'); settextbuf (g, buf2); rewrite (g);
for i := 1 to 100000 do v[i]:=i;

i:=2;
while i <= 100000 do
  begin
  if v [i] = i then
    begin
    j:=i;
    while j <= 100000 do
      begin
      v[j]:=v[j]-v[j] div i;
      j:=j+i;
      end;
    end;
  i:=i+1;
  end;

read (f, n);

for i := 1 to n do
  begin
  readln (f, x);
  writeln (g, int64(v[x]) * int64(x shl 1));
  end;


close (f); close (g);
end.