Возведение в степень через рекурсию в Java — пример с методом
Программа вычисляет base ^ powerRaised (число в указанной степени) с помощью рекурсивной функции.
Пример: возведение в степень через рекурсию
class Power {
public static void main(String[] args) {
int base = 3, powerRaised = 4;
int result = power(base, powerRaised);
System.out.println(base + "^" + powerRaised + "=" + result);
}
public static int power(int base, int powerRaised) {
if (powerRaised != 0) {
// рекурсивный вызов power()
return (base * power(base, powerRaised - 1));
}
else {
return 1;
}
}
}
Вывод:
3^4 = 81
В программе выше степень вычисляется с помощью рекурсивной функции power().
Простыми словами: рекурсивная функция умножает base сам на себя powerRaised раз, то есть:
3 * 3 * 3 * 3 = 81
Примечание
Шаги выполнения:
Итерация |
power() |
powerRaised |
result |
|---|---|---|---|
1 |
power(3, 4) |
4 |
3 * result2 |
2 |
power(3, 3) |
3 |
3 * 3 * result3 |
3 |
power(3, 2) |
2 |
3 * 3 * 3 * result4 |
4 |
power(3, 1) |
1 |
3 * 3 * 3 * 3 * resultfinal |
Финал |
power(3, 0) |
0 |
3 * 3 * 3 * 3 * 1 = 81 |