我正在做一个程序来总结所有奇数到n:
oddSum' n result | n==0 = result
| otherwise = oddSum' (n-1) ((mod n 2)*(n)+result)
oddSum n = oddSum' n 0
我的输入有两个错误(我把它们放在下面),我正在使用尾递归,为什么会发生堆栈溢出?(注意:我在 Ubuntu 上使用 Hugs)
oddSum 20000 错误 - 控制堆栈溢出
oddSum 100000 错误 - 垃圾收集无法回收足够的空间