Cod sursa(job #171469)

Utilizator kolapsysPostelnicu Dan Marian kolapsys Data 4 aprilie 2008 14:07:40
Problema Sum Scor 70
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.88 kb
{ http://infoarena.ro/problema/sum }
type vector=array[1..200000] of longint;
var rez:int64;
    n,i,j,k,x:longint;
    f,g:text;
    t:vector;
begin
        assign(f,'sum.in'); reset(f);
        assign(g,'sum.out'); rewrite(g);
        readln(f,n);
        for i:=1 to 200000 do t[i]:=i;
        for i:=2 to 200000 do
                if t[i]=i then
                begin
                j:=i;
                while j<=200000 do
                                begin
                                t[j]:=t[j] div i;
                                t[j]:=t[j] * (i-1);
                                j:=j+i;
                                end;
                        end;
        for k:=1 to n do
                begin
                readln(f,x);
                rez:=2 * t[x] * x;
                writeln(g,rez);
                end;
        close(f); close(g);
end.