Cod sursa(job #1011421)

Utilizator tntraduRadu Cebotari tntradu Data 16 octombrie 2013 20:32:49
Problema Ridicare la putere in timp logaritmic Scor 0
Compilator fpc Status done
Runda Arhiva educationala Marime 0.55 kb
Program logaRITM;
function putere(var a,b:longint):longint;
  var p:longint;
  begin
    p:=1;
    while b>0 do
      begin
        if b mod 2 = 1 then
           begin
              p:=(p*a)mod 1999999973;
              dec(b);
           end;
        a:=(a*a)mod 1999999973;
        b:=b div 2;
      end;
    putere:=p;
  end;
var a,b:longint;
    input,out:text;
begin
   assign(input,'lgput.in');
   assign(out,'lgput.out');
   rewrite(out);
   readln(input,a,b);
   writeln(out,putere(a,b));
   close(input);
   close(out);
end.