这是Haskell中幂函数的一个实现。但我有堆栈溢出错误。不知道如何修复
power''::Integer->Integer->Integer
power'' _ 0=1
power'' 1 _=1
power'' n k
|even k = power'' (n*n) (k `div` 2)
|otherwise = n * power'' n k-1
答案 0 :(得分:5)
|otherwise = n * power'' n k-1
这是
|otherwise = (n * power'' n k)-1
因此你会永远使用相同的论证。
答案 1 :(得分:0)
- 找到了我的问题
|otherwise = n * power'' n (k-1)