Cod sursa(job #167345)
Utilizator | Data | 29 martie 2008 14:58:37 | |
---|---|---|---|
Problema | Ridicare la putere in timp logaritmic | Scor | 100 |
Compilator | fpc | Status | done |
Runda | Arhiva educationala | Marime | 0.38 kb |
var f,g:Text;
n,p:int64;
function put (n,p:int64):int64;
begin
if (p=0)then put:=1 else
if (p mod 2=0)then put:=put(n*n mod 1999999973, p div 2)mod 1999999973 else
put:=put(n*n mod 1999999973,p div 2)*n mod 1999999973;
end;
begin
assign(f,'lgput.in');
assign(g,'lgput.out');
reset(f);
rewrite(g);
read(f,n,p);
write(g,put(n,p));
close(f);
close(g);
end.