Cod sursa(job #1579477)

Utilizator mirelabocsabocsa mirela mirelabocsa Data 24 ianuarie 2016 19:46:26
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator fpc Status done
Runda Arhiva educationala Marime 0.43 kb
program mire;
const mo=1999999973;
var f,g:text;
    n,p:int64;
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 mo;
       n:=n*n mod mo;
       p:=p shr 1;
    end;
  ridic:=s;
end;
begin
  assign(f,'lgput.in'); reset(F);
  assign(g,'lgput.out'); rewrite(g);
  readln(f,n,p);
     writeln(g,ridic(n,p));
  close(f);
  close(g);
end.