Cod sursa(job #174631)

Utilizator TudorutzuMusoiu Tudor Tudorutzu Data 9 aprilie 2008 01:04:53
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator fpc Status done
Runda Arhiva educationala Marime 0.46 kb
const m=1999999973;
var f:text;
    n,p:longint;
function pu(n,p:longint):longint;
begin
     if 0=p then pu:=1
            else
               if odd(p) then pu:=(n mod m*pu(n,p div 2)mod m*pu(n,p div 2) mod m)mod m
                         else pu:=(pu(n,p div 2) mod m*pu(n,p div 2)mod m)mod m;
end;
begin
     assign(f,'lgput.in'); reset(f);
     readln(f,n,p);
     close(f); assign(f,'lgput.out'); rewrite(f);
     writeln(f,pu(n,p));
     close(f);
end.