Cod sursa(job #171485)

Utilizator kolapsysPostelnicu Dan Marian kolapsys Data 4 aprilie 2008 14:37:51
Problema Sum Scor 85
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.83 kb
{ http://infoarena.ro/problema/sum }
const nmax=100000;
type vector=array[1..nmax] of int64;
var 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 nmax do t[i]:=i;
        for i:=2 to nmax do
            if t[i]=i then
                begin
                j:=i;
                while j<=nmax 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);
                writeln(g,2*t[x]*x);
                end;
        close(f); close(g);
end.