Cod sursa(job #346410)

Utilizator florin_marius90Florin Marius Popescu florin_marius90 Data 7 septembrie 2009 18:57:13
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator fpc Status done
Runda Arhiva educationala Marime 0.41 kb
var x,n,m:int64;
    f,g:text;
function putere(x,n:int64):int64;
 begin
  if n=0 then putere:=1 else if n mod 2 = 0
  then putere:=((putere(x,n div 2) mod m) * (putere(x,n div 2) mod m))mod m
  else putere:=((x mod m) * (putere(x,n-1) mod m ))mod m;
 end;

begin
assign(f,'lgput.in'); reset(f);
assign(g,'lgput.out'); rewrite(g);
read(f,x,n);
m:=199999973;
write(g,putere(x,n));
close(f); close(g);
end.