Cod sursa(job #1384274)

Utilizator casianos1996Marc Casian Nicolae casianos1996 Data 10 martie 2015 23:47:24
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator fpc Status done
Runda Arhiva educationala Marime 0.56 kb
program lgput;
var     n,m,i,k,sol:int64;
        f,g:text;
begin
  assign(f,'lgput.in'); assign(g,'lgput.out');
  reset(f); rewrite(g);
  readln(f,n,m);
  n:=n mod 1999999973;
  sol:=1;
  while m>0 do
    begin
      if m mod 2=0 then
        begin
          n:=(n mod 1999999973)*(n mod 1999999973)
        end
      else
        begin
          sol:=(sol mod 1999999973)*(n mod 1999999973);
          n:=(n mod 1999999973)*(n mod 1999999973);
        end;
      m:=m div 2;
    end;
  writeln(g,sol mod 1999999973);
  close(f); close(g);
end.