码迷,mamicode.com
首页 > 其他好文 > 详细

质因数分解总结

时间:2019-11-02 13:41:27      阅读:89      评论:0      收藏:0      [点我收藏+]

标签:line   在线   pre   递归   eve   ==   因数分解   个数   最小   

线性筛法

具体做法是在线性筛时预处理出一个fac数组来记录这个数的最小质因子,在分解时就可以递归求解

inline void sieve() {
    for (int i = 1; i < maxn; ++ i) fac[i] = i;
    for (int i = 2; i < maxn; ++ i) {
        if (fac[i] == i) p[++cnt] = i;
        for (int j = 1; j <= cnt && p[j] * i < maxn; ++ j) {
            if (fac[i * p[j]] = std::min(fac[i * p[j]], p[j]);
            if (i % p[j] == 0) break;
        }
    }
}

质因数分解总结

标签:line   在线   pre   递归   eve   ==   因数分解   个数   最小   

原文地址:https://www.cnblogs.com/alessandrochen/p/11781391.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!