Cod sursa(job #149528)

Utilizator ionicaion ionica Data 5 martie 2008 20:25:01
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator fpc Status done
Runda Arhiva educationala Marime 0.43 kb
program p21;  
 var i,m,n,p:longint;  
     f,g:text;
 function putere(n,p:longint):longint;
 var r:longint;
 begin
 if p=0 then putere:= 1
 else begin
       r:=putere(n*n, p div 2) mod 1999999973;
       if p mod 2=1 then r:=(r*n) mod 1999999973;
       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);
 writeln(g,m);
 close(g);
 end.