Cod sursa(job #1624271)

Utilizator robertadRoxana Rodile robertad Data 2 martie 2016 09:51:38
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator fpc Status done
Runda Arhiva educationala Marime 0.47 kb
program ridicare_la_putere;
var n,p:int64;
    f,g:text;
const m=1999999973;
function ridic(n,p:int64):int64;
var s:int64;
  begin
    s:=1;
    while p<>0 do
      begin
        if p mod 2=1 then
                s:=s*n mod m;
        n:=n*n mod m;
        p:=p div 2;
      end;
    ridic:=s;
  end;
begin
  assign(f,'lgput.in');
  assign(g,'lgput.out');
  reset(f);
  rewrite(g);
  readln(f,n,p);
  writeln(g,ridic(n,p));
  close(f);
  close(g);
end.