Cod sursa(job #153841)

Utilizator petrePajarcu Alexandru-Petrisor petre Data 10 martie 2008 19:20:41
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator fpc Status done
Runda Arhiva educationala Marime 0.45 kb
const m=1999999973;
var n,p:int64;

function calcul(n,p:int64):qword;
begin
if p=0 then calcul:=1
       else if p mod 2=0 then
                         calcul:=calcul(n*n mod m,p div 2)
                         else calcul:=(n*calcul(n*n mod m,(p-1) div 2)) mod m;
end;

begin
assign(input,'lgput.in');
assign(output,'lgput.out');
reset(input);
rewrite(output);
readln(n,p);
N:=calcul(n,p);
writeln(n);
close(input);
close(output);
end.