我总是得到“1”。 :(
这个功能怎么了?
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)
}
答案 0 :(得分:7)
你必须这样替换:case 0 => result
答案 1 :(得分:0)
可能与OP不相关,但是我以这个答案为例,该版本适用:
def power(base: Int, exp: Int): BigInt = {
def _power(result: BigInt, exp: Int): BigInt = exp match {
case 0 => 1
case 1 => result
case _ => _power(result*base, exp-1)
}
_power(base, exp)
}