Cod sursa(job #216454)

Utilizator Tase_CCapalna Tanase Tase_C Data 24 octombrie 2008 17:15:40
Problema Sum Scor 40
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.92 kb
const prim:array[1..66] of longint=(
   2,3,5,7,11,13,17,19,23,29,
   31,37,41,43,47,53,59,61,67,71,
   73,79,83,89,97,101,103,107,109,113,
   127,131,137,139,149,151,157,163,167,173,
   179,181,191,193,197,199,211,223,227,229,
   233,239,241,251,257,263,269,271,277,281,
   283,293,307,311,313,317);
var v,z:array[1..100000] of byte;
    t,nr,i,j,n,x,d:longint;
    s:int64;
begin
  assign(input,'sum.in'); reset(input);
  assign(output,'sum.out'); rewrite(output);
  readln(n);
  for t:=1 to n do begin
    readln(x); s:=0; v:=z; nr:=x;
    i:=1;d:=prim[1];
    while nr>1 do begin
      while (nr mod d<>0)and(d*d<=nr) do begin
        inc(i); d:=prim[i];
      end;
      if (d*d>nr) then d:=nr;
      while nr mod d=0 do nr:=nr div d;
      for j:=1 to (2*x)div d do
        v[d*j]:=1;
    end;
    s:=0; for i:=1 to 2*x do s:=s+i*(1-v[i]);
    writeln(s);
  end;
  close(input); close(output);
end.