Cod sursa(job #587021)

Utilizator ion_calimanUAIC Ion Caliman ion_caliman Data 3 mai 2011 19:37:15
Problema Suma si numarul divizorilor Scor 10
Compilator fpc Status done
Runda Arhiva educationala Marime 1.06 kb
var     t,i,j,k,l:longint;
        n,nr,s,n1:int64;
        a:array[1..1000000] of boolean;
        f,g:text;

begin
  assign(f,'ssnd.in');
  assign(g,'ssnd.out');
  reset(f);
  rewrite(g);
  readln(f,t);
  n:=1000000;
  for i:=2 to n do
    a[i]:=true;
  for i:=2 to round(sqrt(n)) do
    if a[i] then
    begin
      j:=i;
      while j+i<=n do
        begin
          inc(j,i);
          a[j]:=false;
        end;
    end;


    for l:=1 to t do
    begin
      readln(f,n);
      s:=1;
      nr:=1;
      n1:=n;
      for i:=2 to round(sqrt(n1)) do
        if a[i] and (n1 mod i=0) then
          begin
            j:=0;
            k:=i;
            while n1 mod i=0 do
              begin
                n1:=n1 div i;
                inc(j);
                k:=k*i;
              end;
            nr:=nr*(j+1);
            s:=s*((k-1) div (i-1)) mod 9973;
          end;
        if (s=1)and(n>1) then
          begin
            nr:=2;
            s:=n+1;
          end;
      writeln(g,nr,' ',s);
    end;
  close(g);
end.