我对 Haskell 很陌生,我在 Haskell 中定义了一个函数:
febs :: (Integral a)=> a -> a
febs n
| n<=0 =0
| n==1 =1
| n==2 =1
| otherwise =febs(n-1)+febs(n-2)
但是,它运行得很慢,当我执行“febs 30”时,大约需要 10 秒,而我在 C++ 中执行相同的函数,它运行得非常快。
int febs(int n)
{
if(n == 1 || n ==2)
{
return 1;
}
return febs(n-1)+febs(n-2);
}
有什么方法可以提高我的 haskell func 速度吗?