原文: https://www.programiz.com/kotlin-programming/examples/power-number-recursion
在此程序中,您将学习使用 Kotlin 中的递归函数来计算数字的幂。
示例:使用递归计算幂的程序
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
}
运行该程序时,输出为:
3^4 = 81
在上面的程序中,您使用递归函数power()
计算幂。
简而言之,递归函数将幂乘以基础乘以自身,即:
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 程序