Cod sursa(job #147676)

Utilizator free2infiltrateNezbeda Harald free2infiltrate Data 3 martie 2008 12:54:43
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator fpc Status done
Runda Arhiva educationala Marime 0.55 kb
program ridick;
var m,n,c : longint;
    f : text;
function put(x,y:longint):longint;
var nr : longint;
begin
nr := 1;
x := x mod c;
while y<>0 do
if y mod 2 <> 0 then begin
                     nr := ((nr mod c)*(x mod c)) mod c;
                     y := y-1;
                     end
else begin
     x := ((x mod c)*(x mod c)) mod c;
     y := y div 2;
     end;

put := nr;

end;

begin
assign(f,'lgput.in');
reset(f);
read(f,n,m);
c := 1999999973;
close(f);
assign(f,'lgput.out');
rewrite(f);
write(f,put(n,m));
close(f);
end.