gal*_*tes 6 haskell lazy-evaluation number-theory
所以我正在尝试做一些数论工作,我正在使用Mathematica,但认为Haskell更适合处理无限列表(因为AFAIK Mathematica没有懒惰的评估).我想要做的是让Haskell在无限懒惰列表中存储1/x的所有数字.到目前为止,我的搜索还没有找到一种方法将比率分成数字,返回数字列表而不是实际的浮点数.
我们也可以将它实现为一个简单的流生成器:
divDigits :: Int -> Int -> [Int]
divDigits x y = x `div` y : divDigits (10 * (x `mod` y)) y
Run Code Online (Sandbox Code Playgroud)
实际上存在使用惰性列表的这种"无限" - 精确数字表示的库,请参阅Haskell Wiki.