pascalabcnet/InstallerSamples/WhatsNew/3_10_4/exit_param4.pas
Mikhalkovich Stanislav 4c56298bfb exit(param)
2025-05-08 22:53:34 +03:00

15 lines
490 B
ObjectPascal

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.