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

【腾讯云】买域名送云解析+SSL证书+建站!>>>   

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]

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