Cod sursa(job #269145)

Utilizator philipPhilip philip Data 2 martie 2009 15:58:42
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator fpc Status done
Runda Arhiva educationala Marime 0.47 kb
var f,g:text;
    n,p:longint;

procedure citire;
  begin
    assign(f,'lgput.in');
    reset(f);
    readln(f,n,p);
    close(f);
    assign(g,'lgput.out');
    rewrite(g);
  end;

function putere(n,p:longint):int64;
  begin
    if p=0 then putere:=1
      else if odd(p) then putere:=n*putere(n,p-1) mod 1999999973
        else putere:=sqr(putere(n,p div 2)) mod 1999999973;
  end;

begin
  citire;
  writeln(g,putere(n,p) mod 1999999973);
  close(g);
end.