Cod sursa(job #874960)
Utilizator | Data | 9 februarie 2013 15:03:14 | |
---|---|---|---|
Problema | Ridicare la putere in timp logaritmic | Scor | 100 |
Compilator | fpc | Status | done |
Runda | Arhiva educationala | Marime | 0.4 kb |
Var f,g:text;
n,p,aux,aux2:int64;
Begin
assign(f, 'lgput.in');reset(f);
assign(g, 'lgput.out');rewrite(g);
read(f, n,p);
aux:=1;
while p<>1 do
if p mod 2=0 then
begin
n:=(n*n) mod 1999999973;
p:=p div 2;
end
else
begin
aux:=(aux*n) mod 1999999973;
dec(p);
end;
aux2:=aux*n mod 1999999973;
write(g, aux2);
close(f);
close(g);
End.