Cod sursa(job #251291)

Utilizator MihaiBunBunget Mihai MihaiBun Data 2 februarie 2009 11:35:48
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator fpc Status done
Runda Arhiva educationala Marime 0.46 kb
program puter;
var f:text;
    n,p,a:int64;

function putere(x,n:int64):int64;
begin
  if n=0 then putere:=1
         else if n mod 2=0 then putere:=sqr(putere(x,n div 2) mod 1999999973)mod 1999999973
                           else putere:=(x*(putere(x,n-1)mod 1999999973))mod 1999999973
end;

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