Haskell分解质因数
博客专区 > hell0cat 的博客 > 博客详情
Haskell分解质因数
hell0cat 发表于1年前
Haskell分解质因数
  • 发表于 1年前
  • 阅读 34
  • 收藏 0
  • 点赞 0
  • 评论 0

腾讯云 技术升级10大核心产品年终让利>>>   

factors' n = if n <= 1  then [] else 
                    let fac = mfac n 2 in fac : factors' (n `div` fac) 
                        where mfac m x 
                                    | rem m x == 0   = x -- 能被整除,则x为因子
                                    | x^2 > m        = m -- 质数
                                    | otherwise      = mfac m (if odd x then x+2 else x+1)

main = do
    print $ factors' 557940830126698960967415390

输出: > [2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71]

共有 人打赏支持
粉丝 35
博文 41
码字总数 21103
×
hell0cat
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: