Cod sursa(job #962317)
Utilizator | Data | 14 iunie 2013 16:10:25 | |
---|---|---|---|
Problema | Ridicare la putere in timp logaritmic | Scor | 100 |
Compilator | fpc | Status | done |
Runda | Arhiva educationala | Marime | 0.47 kb |
program p1;
var
n,x,p,r:int64;
i,j,u:longint;
f,g:text;
begin
assign(f,'lgput.in');reset(F);
assign(g,'lgput.out');rewrite(G);
readln(f,x,n);
p:=1;
r:=1999999973;
while n>0 do
if n mod 2 <>0 then begin
p:=(p*x ) mod r;
n:=n-1;
end
else begin
x:=(x*x)mod r;
n:=n div 2;
end;
writeln(g,p);
close(F);
close(G);
end.