Cod sursa(job #845960)

Utilizator RusuAlexeiRusu Alexei RusuAlexei Data 31 decembrie 2012 23:06:12
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator fpc Status done
Runda Arhiva educationala Marime 0.4 kb
program putere_logaritmica;
  const modulo=1999999973;
  var f:text;
      n,p,rez,m:int64;
begin
  assign(f,'lgput.in');
  reset(f);
  readln(f,n,p);
  close(f);
  assign(f,'lgput.out');
  rewrite(f);
  m:=n;
  rez:=1;
  while p>0 do
    begin
      if p mod 2 =1 then rez:=(rez*m)mod modulo;
      m:=sqr(m) mod modulo;
      p:=p div 2;
    end;
  writeln(f,rez);
  close(f);
end.