type cislo = real; function mocn(x:cislo; N:integer): cislo; {vraci hodnotu N-te mocniny cisla x pomoci nejnyse 2*ln2(X) nasobeni Ma vyznam predevsim u nasobeni matic nebo "dlouhych cisel" } var xk, Xk2 : real; k : integer; begin if N=0 then mocn:=1 else if N=1 then mocn:=x else begin k:= N div 2; xk:= mocn(x, k); xk2:= xk * xk; if N mod 2 = 0 then mocn:= xk2 else mocn:= x * xk2 ; end end;