1
我總是得到「1」的結果。 :(
哪些錯誤使用此功能Scala:尾遞歸函數
def power(base: Int, exp: Int): BigInt = {
def _power(result: BigInt, exp: Int): BigInt = exp match {
case 0 => 1
case _ => _power(result*base, exp-1)
}
_power(1, exp)
}
...因爲你'減少每次調用exp',並且當它到達'0' ,你將返回'1'而不是累計結果。 – nietaki
我認爲你的意思是'case 1 => result'。你仍然需要'case 0 => 1'來讓電源正常工作。 – DaoWen