<分区>
我是 Haskell 的初学者,我试图编写 fibonacci 函数,但每次运行它时我的电脑都会死机。我不知道为什么。这是我的代码:
fib n = if n<=2 then 1 else (fib n-1)+(fib n-2)
我不知道它是否有任何帮助,但我在 Ubuntu 20.04 中使用 GHC
<分区>
我是 Haskell 的初学者,我试图编写 fibonacci 函数,但每次运行它时我的电脑都会死机。我不知道为什么。这是我的代码:
fib n = if n<=2 then 1 else (fib n-1)+(fib n-2)
我不知道它是否有任何帮助,但我在 Ubuntu 20.04 中使用 GHC
最佳答案
我想,你是想写
fib n = if n<=2 then 1 else fib (n-1) + fib (n-2)
fib n-1
将被解释为 (fib n) - 1
。这就是为什么你有一个无限递归。
关于haskell - Haskell 中的 Fibonacci 会卡住电脑吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64016414/