我在 Haskell 中做一些 monad 的东西,我写了一个函数来计算在给定游戏决策树的情况下赢得赌博游戏的概率。它就像一个魅力,除了它有时会返回与预期略有不同的答案。例如,我将我的代码上传到 DOMjudge,它返回一个错误,说正确的答案应该是 1 % 6 而不是 6004799503160661 % 36028797018963968,这是我的函数返回的内容。如果您实际上进行除法,它们几乎相同,但是我不明白为什么我的答案仍然略有不同。我一直在搞乱不同的类型(例如使用 Real 而不是 Int),但到目前为止还没有运气。我对这些东西有点陌生,我似乎无法弄清楚。谁能指出我正确的方向?
-代码已删除-