原文: https://www.programiz.com/kotlin-programming/examples/power-number-recursion

在此程序中,您将学习使用 Kotlin 中的递归函数来计算数字的幂。

示例:使用递归计算幂的程序

  1. fun main(args: Array<String>) {
  2. val base = 3
  3. val powerRaised = 4
  4. val result = power(base, powerRaised)
  5. println("$base^$powerRaised = $result")
  6. }
  7. fun power(base: Int, powerRaised: Int): Int {
  8. if (powerRaised != 0)
  9. return base * power(base, powerRaised - 1)
  10. else
  11. return 1
  12. }

运行该程序时,输出为:

  1. 3^4 = 81

在上面的程序中,您使用递归函数power()计算幂。

简而言之,递归函数将幂乘以基础乘以自身,即:

  1. 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

以下是等效的 Java 代码:使用递归计算幂的 Java 程序