Cod sursa(job #1746834)
| Utilizator | Data | 23 august 2016 23:56:28 | |
|---|---|---|---|
| Problema | Ridicare la putere in timp logaritmic | Scor | 100 |
| Compilator | fpc | Status | done |
| Runda | Arhiva educationala | Marime | 0.44 kb |
var i,j,k,m,n:int64;
f,g:text;
function exp(m:int64):int64;
var aux:int64;
begin
if m=0 then exp:=1
else begin
aux:=exp(m shr 1) mod k;
aux:=aux*aux mod k;
if m and 1=1 then exp:=(aux*n) mod k
else exp:=aux;
end;
end;
begin
assign(f,'lgput.in');
assign(g,'lgput.out');
reset(f);
rewrite(g);
read(f,n,m);
k:=1999999973;
n:=n mod k;
write(g,exp(m));
close(f);
close(g);
end.