在此程序中,您将学习使用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程序