Возвести в степень не используя циклы и pow()
Дано действительное положительное число a и целое неотрицательное число n. Вычислите an не используя циклы и стандартную функцию pow, а используя рекуррентное соотношение a^n = a * a ^ (n−1).
Решил на Python следующим образом:
def power(a, n):
temp = str(a)+'*'
temp *= n
temp = temp.strip('*')
try:
ans = eval(temp)
return ans
except:
return 1
a = float(input())
n = int(input())
print(power(a, n))
Хочу перенести на Java, но похоже на Java нет эквивалента функции eval() на Python. Прошу помочь.
Ответы (1 шт):
Автор решения: Igor
→ Ссылка
используя рекуррентное соотношение a^n = a * a ^ (n−1).
int power(double a, int n) {
// assert n >= 0
return (n == 0)? 1 : (a * power(a, n - 1));
}