Cod sursa(job #149535)

Utilizator ionicaion ionica Data 5 martie 2008 20:31:59
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator fpc Status done
Runda Arhiva educationala Marime 0.43 kb
program p21;  
 var i,n,p:int64;
     m:int64;
     f,g:text;
 function putere(n,p:longint):int64;
 var r:int64;
 begin
 if p=0 then putere:= 1
 else begin
       r:=putere((n*n), p div 2);
       if p mod 2=1 then r:=(r*n);
       putere:=r;
      end;
 end;

 begin
 assign(f,'lgput.in');reset(f);
 assign(g,'lgput.out');rewrite(g);
 readln(f,n,p);
 m:=putere(n,p) mod 1999999973;
 writeln(g,m);
 close(g);
 end.