小编the*_*ice的帖子

在Haskell中调用函数前缀与中缀

我一直想学习Haskell,所以最近我开始解决ProjectEuler问题.在编写以下分解代码时,我注意到调用(/ n)返回一段Float时间后(n `div`)返回一个Int.我认为中缀符号只是Haskell中的语法糖?有人可以解释发生了什么吗?我还要感谢任何意见/建议/改进,谢谢.

    import Data.List (sort)

    factor :: Int -> [Int]
    factor 0 = [1..]
    factor n =
        let f1 = [f | f <- [1..limit], n `mod` f == 0]
                where limit = ceiling $ sqrt $ fromIntegral n
            f2 = map (n `div`) f1   --vs. map (/ n) f1
        in sort $ f1 ++ f2
Run Code Online (Sandbox Code Playgroud)

haskell factorization

3
推荐指数
1
解决办法
1243
查看次数

标签 统计

factorization ×1

haskell ×1