Возведение в степень через рекурсию в 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