Cod sursa(job #874960)

Utilizator IronKingqwerty xxx IronKing Data 9 februarie 2013 15:03:14
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator fpc Status done
Runda Arhiva educationala Marime 0.4 kb
Var f,g:text;
    n,p,aux,aux2:int64;

Begin
assign(f, 'lgput.in');reset(f);
assign(g, 'lgput.out');rewrite(g);
read(f, n,p);
aux:=1;
while p<>1 do
  if p mod 2=0 then
    begin
      n:=(n*n) mod 1999999973;
      p:=p div 2;
    end
   else
     begin
       aux:=(aux*n) mod 1999999973;
       dec(p);
     end;
aux2:=aux*n mod 1999999973;
write(g, aux2);
close(f);
close(g);
End.