Cod sursa(job #194945)

Utilizator chelaru_t_achelaru traian andrei chelaru_t_a Data 15 iunie 2008 14:11:39
Problema Suma divizorilor Scor 10
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.68 kb
var v:array [1..10000] of longint;
    k:integer;
    a,b:longint;
    f,g:text;

 procedure divizori;
  var i:longint;
  begin
   k:=1;
   for i:=2 to a div 2 do
     if a mod i=0 then
       begin
       v[k]:=i;
       k:=k+1;
       end;
   v[k]:=a;
  end;

 procedure suma;
  var s,q:int64;
      i:integer;
      j:longint;
  begin
   s:=1;
   for i:=1 to k do
     begin
     q:=v[i];
     for j:=1 to b do q:=v[i]*q;
     s:=s+(q-v[i]) div (v[i]-1);
     end;
   writeln(g,s mod 9901);
  end;

begin
  assign(f,'sumdiv.in');
  assign(g,'sumdiv.out');
  reset(f);
  rewrite(g);
  readln(f,a,b);
  divizori;
  suma;
  close(f);
  close(g);
end.