Cod sursa(job #876572)
Utilizator | Rares Cheseli rares96cheseli | Data | 11 februarie 2013 21:49:01 |
---|---|---|---|
Problema | Ridicare la putere in timp logaritmic | Scor | 10 |
Compilator | fpc | Status | done |
Runda | Arhiva educationala | Marime | 0.48 kb |
program test;
var a:array[1..100] of qword;
x,n,p:qword;
f,g:text;
begin
assign(f,'lgput.in');reset(f);
assign(g,'lgput.out');rewrite(g);
readln(f,n,p);
x:=1;
while p<>1 do
begin
if n mod 2=0 then begin
n:=n*n mod 1999999973;
p:=p div 2;
end
else begin
x:=x*n mod 1999999973;
dec(p);
end;
end;
x:=n;
writeln(g,x mod 1999999973);
close(f); close(g);
end.