Cod sursa(job #181565)
| Utilizator | Data | 18 aprilie 2008 15:49:33 | |
|---|---|---|---|
| Problema | Ridicare la putere in timp logaritmic | Scor | 10 |
| Compilator | fpc | Status | done |
| Runda | Arhiva educationala | Marime | 0.43 kb |
{ridicare la putere in timp logaritmic }
var x,n,rez : int64;
f,g : text;
procedure power(x,n : int64);
begin
rez:=1;
while n<>0 do
if n mod 2=1 then
begin
rez:=(rez*x) mod 1999999973;
dec(n);
end
else
begin
x:=x*x;
n:=n div 2;
end;
end;
begin
assign(f,'lgput.in');reset(f);
assign(g,'lgput.out');rewrite(g);
read(f,x,n);
power(x,n);
writeln(g,rez);
close(g);
end.