Cod sursa(job #152142)
Utilizator | GOREA CLAUDIU-CRISTIAN Clau2000 | Data | 9 martie 2008 03:23:47 |
---|---|---|---|
Problema | Ridicare la putere in timp logaritmic | Scor | 0 |
Compilator | fpc | Status | done |
Runda | Arhiva educationala | Marime | 0.49 kb |
var f,g:text;
a,a1,p:real;
c,b,b1:longint;
begin
assign(f,'lgput.in');
assign(g,'lgput.out');
reset(f);
rewrite(g);
read(f,a,b);
c:=1999999973; {(a^b) mod c, c=1999999973}
p:=1;
b1:=b;
a1:=round(a) mod c;
while b1<>0 do
begin
if b1 mod 2=1 then
p:=round(p*a1)mod c;
a1:=round(a1*a1)mod c;
b1:=b1 div 2;
end;
write(g,p);
close(f);
close(g);
end.