Cod sursa(job #756588)

Utilizator andrei_toaderToader Andrei Sorin andrei_toader Data 9 iunie 2012 22:17:23
Problema Suma divizorilor Scor 10
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.55 kb
var f,g:text;
    n,b:longint;
    v:array[1..1000] of 0..1;
    nr:integer;
    a,solutie,s:qword;
    i:longint;


begin
 assign (f,'sumdiv.in'); reset (F);
 assign (g,'sumdiv.out'); rewrite (g);
 read (f,n,b);
 nr:=0;
 while b<>0 do
 begin
  inc(nr); v[nr]:=b mod 2; b:=b div 2;
 end;
 a:=n; solutie:=1;
 for i:=1 to nr do
 begin
  if v[i]=1 then
   solutie:=(solutie*a);
  a:=a*a;
 end;
 s:=(solutie+1) mod 9901;
 for i:=2 to solutie div 2 do
   if solutie mod i=0 then
    s:=(s+i) mod 9901;
 write (g,s); close (f); close (g);
end.