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() | 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程序:使用递归计算幂次