Cod sursa(job #244208)

Utilizator DanielGGlodeanu Ioan Daniel DanielG Data 14 ianuarie 2009 18:21:11
Problema Sum Scor 50
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.59 kb
var f:text;
v:array[1..200000] of 0..1;
g:text; n,k,i,ind,x,xx:longint;
sum:int64;
begin
assign(f,'sum.in');reset(f);
assign(g,'sum.out');rewrite(g);
readln(f,n);
for k:=1 to n do
    begin
    read(f,x);
    sum:=0;
    for i:=1 to 2*x do v[i]:=0;
    ind:=2;
    xx:=x;
    repeat
    if x mod ind=0 then
       begin
       while x mod ind=0 do x:=x div ind;
       for i:=1 to 2*xx div ind do
           v[i*ind]:=1;
       end;
    inc(ind);
    until x=1;
    for i:=1 to 2*xx do
        if v[i]=0 then sum:=sum+i;
    writeln(g,sum);
    end;
close(f);
close(g);
end.