Cod sursa(job #148007)
Utilizator | Data | 3 martie 2008 20:13:27 | |
---|---|---|---|
Problema | Ridicare la putere in timp logaritmic | Scor | 100 |
Compilator | fpc | Status | done |
Runda | Arhiva educationala | Marime | 0.42 kb |
var n,a:int64;
f:text;
function put(n,a:int64):int64;
begin
if a=0 then put:=1
else
if a mod 2=0 then put:=put(n*n mod 1999999973,a div 2)mod 1999999973
else put:=put(n*n mod 1999999973,a div 2)*n mod 1999999973;
end;
begin
assign(f,'lgput.in');
reset(f);
read(f,n,a);
close(f);
assign(f,'lgput.out');
rewrite(f);
writeln(f,put(n,a));
close(f);
end.