Cod sursa(job #166274)

Utilizator philip_dugalleHadczy-Pop Filip philip_dugalle Data 27 martie 2008 19:43:24
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator fpc Status done
Runda Arhiva educationala Marime 0.52 kb
var f,g:text;
    n,p,x:longint;

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

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

procedure afisare;
  begin
    assign(g,'lgput.out');
    rewrite(g);
    write(g,putere(n,p));
    close(g);
  end;

begin
  citire;
  afisare;
end.