Cod sursa(job #1745281)

Utilizator mihaitamoglanmihai moglan mihaitamoglan Data 21 august 2016 16:28:21
Problema Suma si numarul divizorilor Scor 70
Compilator fpc Status done
Runda Arhiva educationala Marime 1.05 kb
type tablou=array [1..1000000]of longint;
var i,j:longint;
    suma,divizori,k,m,n,p,l,q:int64;
    f,g:text;
    prim,t:tablou;
begin
assign(f,'ssnd.in');
assign(g,'ssnd.out');
reset(f);
rewrite(g);
read(f,l);
m:=0;
for i:=2 to 1000000 do
 if t[i]=0 then begin
                  m:=m+1;
                  prim[m]:=i;
                  for j:=2 to 1000000 div i do
                   t[i*j]:=1;
                 end;
for i:=1 to l do
 begin
  read(f,k);
  suma:=1;
  divizori:=1;
  j:=1;
  while k<>1 do
   begin
    q:=1;
    n:=0;
    if k mod prim[j]=0 then begin
                            repeat
                              n:=n+1;
                              q:=q*prim[j];
                              k:=k div prim[j];
                            until k mod prim[j]<>0;
                            divizori:=divizori*(n+1);
                            suma:=(suma*(q*prim[j]-1)div(prim[j]-1))mod 9973;
                            end;
    j:=j+1;
   end;
  writeln(g,divizori,' ',suma);
 end;
close(f);
close(g);
end.