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 |
def PowerN(X, N): if N != 0: if N < 0: return 1 / PowerN(X, -N) else: if N / 2 == 0: return sqr(PowerN(X, N / 2)) else: return X * PowerN(X, N - 1) else: return 1 print('X: ') X = float(input()) for i in range(0, 5): print('N: ') N = int(input()) print(PowerN(X, N)) |
Другие задачи из раздела Recur можно посмотреть здесь.
Комментарии: