跳到主要内容

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()来计算幂次。

简单来说,这个递归函数将基数自身相乘powerRaised次,即:

3 * 3 * 3 * 3 = 81

执行步骤

迭代power()powerRaisedresult
1power(3, 4)43 _ result2
2power(3, 3)33 _ 3 _ result3
3power(3, 2)23 _ 3 _ 3 _ result4
4power(3, 1)13 _ 3 _ 3 _ 3 _ resultfinal
最终power(3, 0)03 _ 3 _ 3 _ 3 _ 1 = 81

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