# Kotlin 程序：使用递归来计算幂

> 原文： [https://www.programiz.com/kotlin-programming/examples/power-number-recursion](https://www.programiz.com/kotlin-programming/examples/power-number-recursion)

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

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

```kt
fun main(args: Array<String>) {
    val base = 3
    val powerRaised = 4
    val result = power(base, powerRaised)

    println("$base^$powerRaised = $result")
}

fun power(base: Int, powerRaised: Int): Int {
    if (powerRaised != 0)
        return base * power(base, powerRaised - 1)
    else
        return 1
}
```

运行该程序时，输出为：

```kt
3^4 = 81
```

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

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

```kt
3 * 3 * 3 * 3 = 81
```

Execution steps

| 迭代 | `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 程序](/java-programming/examples/power-number-recursion "Java Program to calculate power using recursion")