Cod sursa(job #171485)
Utilizator | 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.