Cod sursa(job #171481)

Utilizator kolapsysPostelnicu Dan Marian kolapsys Data 4 aprilie 2008 14:36:15
Problema Sum Scor 85
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.88 kb
{ http://infoarena.ro/problema/sum }
const nmax=100000;
type vector=array[1..nmax] of int64;
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 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);
                rez:=2 * t[x] * x;
                writeln(g,rez);
                end;
        close(f); close(g);
end.