Cod sursa(job #378454)
Utilizator | Data | 28 decembrie 2009 17:38:29 | |
---|---|---|---|
Problema | Sum | Scor | 5 |
Compilator | fpc | Status | done |
Runda | Arhiva de probleme | Marime | 0.59 kb |
var n,x,j,i:longint;
sum:int64;
v:array[1..200010] of int64;
u:array[1..100005] of byte;
f,g:text;
procedure aha;
begin
for i:=1 to 100005 do
v[i]:=i-1;
for i:=2 to 100005 do
if u[i]=0 then
begin
j:=2*i;
while j<=100005 do
begin
u[j]:=1;
v[j]:=v[j]-v[i];
j:=j+i;
end;
end;
end;
begin
aha;
assign(f,'sum.in');
assign(g,'sum.out');
reset(f);
rewrite(g);
readln(f,n);
for i:=1 to n do
begin
readln(f,X);
sum:=v[x]*x*2;
writeln(g,sum);
end;
close(f);
close(g);
end.