Pagini recente » Cod sursa (job #4327) | Cod sursa (job #3180967) | Cod sursa (job #2035641) | Cod sursa (job #3277992) | Cod sursa (job #141064)
Cod sursa(job #141064)
var v:array[1..200000] of longint;
i,n,x,j,l,d:longint;
s:int64;
begin
assign(input,'sum.in');reset(input);
assign(output,'sum.out'); rewrite(output);
readln(n);
for i:=1 to n do begin
readln(x); l:=x;
for j:=1 to l do v[j]:=j;
if x mod 2=0 then begin
for j:=1 to x div 2 do v[i*j]:=0;
while x mod 2=0 do x:=x div 2;
end;
d:=3;
while (x>1) do begin
while (x mod d<>0)and(d*d<=x) do inc(d,2);
if (d*d>x) then d:=x;
for j:=1 to l div d do v[j*d]:=0;
while (x mod d=0)do x:=x div d;
end;
s:=0;
for j:=1 to l-1 do
if v[j]>0 then s:=s+(2*v[j]+l);
writeln(s);
end;
close(input); close(output);
end.