Cod sursa(job #141061)

Utilizator RichiUngur Richard-Alex Richi Data 22 februarie 2008 18:35:00
Problema Sum Scor 55
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.59 kb
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;
    d:=2;
    while (x>1) do begin
      while (x mod d<>0)and(d*d<=x) do inc(d);
      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.