Cod sursa(job #1183542)

Utilizator MaarcellKurt Godel Maarcell Data 9 mai 2014 16:51:10
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator fpc Status done
Runda Arhiva educationala Marime 0.42 kb
const prim=1999999973;
var i,j,k,l,m,n,p:qword; f1,f2:text;
function Putere(n,p:qword):qword;
var t:qword;
begin
t:=1;
while (p>0) do begin
if p mod 2 = 1 then begin t:=(t*n) mod prim; Dec(p); end
else begin n:=(n*n) mod prim; p:= p div 2; end;
end;
Putere:=t;
end;
begin
assign(f1,'lgput.in');
reset(f1);
readln(f1,n,p);
close(f1);
assign(f2,'lgput.out');
rewrite(f2);
writeln(f2,Putere(n,p));
close(f2);
end.