可能的重复:
无限列表的有限理解
我一直在玩 Haskell,所以我尝试在一定程度上尝试计算 Pi,但是,该解决方案似乎无缘无故地无限运行。我似乎无法弄清楚。
这是我目前拥有的:
numerPi :: Int -> Int
numerPi k = (-1)^(k+1)
denomPi :: Int -> Int
denomPi k = 2*k - 1
termPi :: Int -> Float
termPi k = fromIntegral(numerPi(k)) / fromIntegral(denomPi(k))
quarterPi = sum([termPi(x) | x <- [1..], termPi(x) > 0.00001])
在 ghci 中做事4 * quarterPi
似乎永远在继续。如果这个问题太简单了,我很抱歉,但我无法让它发挥作用,而且谷歌也没有丝毫帮助。
编辑:这是无限列表的有限理解的副本