Cod sursa(job #388510)

Utilizator mimarcelMoldovan Marcel mimarcel Data 30 ianuarie 2010 12:46:47
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator fpc Status done
Runda Arhiva educationala Marime 0.48 kb
const modnr=1999999973;
var n,p:longint;

function lgput(p:longint):int64;
var j:int64;
begin
if p=1 then lgput:=n
       else begin
            j:=lgput(p div 2)mod modnr;
            if p and 1=0 then lgput:=(j*j)mod modnr
                         else lgput:=(((j*j)mod modnr)*n)mod modnr;
            end;
end;

begin
assign(input,'lgput.in');
assign(output,'lgput.out');
reset(input);
rewrite(output);
read(n,p);
write(lgput(p));
close(output);
close(input);
end.