在此程序中,您將學(xué)習(xí)使用Kotlin中的遞歸函數(shù)來計算數(shù)字的冪。
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
在上面的程序中,您使用遞歸函數(shù)power()計算冪。
簡單地說,遞歸函數(shù)將底數(shù)與自身相乘,以獲得提升次數(shù),即:
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程序