我对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函数的执行速度?