Recur3. Описать рекурсивную функцию PowerN($$X$$, $$N$$) вещественного типа, находящую значение $$N$$-й степени числа $$X$$ по формулам:
$$X^0=1$$,
$$X^N=(X^{N / 2})^2$$ при четных $$N>0$$,
$$X^N=X*X^{N-1}$$ при нечетных $$N>0$$,
$$X^N=1/X^{-N}$$ при $$N<0$$
($$X \ne 0$$ — вещественное число, $$N$$ — целое; в формуле для четных $$N$$ должна использоваться операция целочисленного деления). С помощью этой функции найти значения $$X^N$$ для данного $$X$$ при пяти данных значениях $$N$$.
Решение:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
program Recur3; var N,i:integer; X:Real; Function PowerN(X:Real;N:integer):real; begin if N<>0 then if N<0 then PowerN:=1/PowerN(X,-N) else if N mod 2 = 0 then PowerN:=sqr(PowerN(X,N div 2)) else PowerN:=X*PowerN(X,N-1) else PowerN:=1; end; begin Write('X: '); Readln(X); for i:=1 to 5 do begin Write('N: '); Readln(N); Writeln(PowerN(X,N)); end; end. |
Другие задачи из раздела Recur можно посмотреть здесь.
Комментарии:
Комментарии 1