pascalabcnet/InstallerSamples/WhatsNew/3_11_0/exit_param4.pas
Mikhalkovich Stanislav 76c6ef8e6c Примеры 3.11
2026-02-03 11:53:30 +03:00

16 lines
512 B
ObjectPascal

// 3.11 - exit(param)
function FastPower(a: real; n: integer): real;
begin
if n = 0 then exit(1); // a^0 = 1
if n = 1 then exit(a); // a^1 = a
if n < 0 then exit(1 / FastPower(a, -n)); // отрицательная степень
var half := FastPower(a, n div 2);
if n mod 2 = 0 then exit(half * half); // чётная степень
exit(half * half * a); // нечётная
end;
begin
Writeln('2^10 = ', FastPower(2, 10)); // 1024
Writeln('3^-2 = ', FastPower(3, -2)); // 0.111...
end.