质因数分解总结

Posted alessandrochen

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了质因数分解总结相关的知识,希望对你有一定的参考价值。

线性筛法

具体做法是在线性筛时预处理出一个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;
        }
    }
}

以上是关于质因数分解总结的主要内容,如果未能解决你的问题,请参考以下文章

刷题总结——跳蚤(poj1091容斥+分解质因数)

LeetCode数论题目总结

@总结 - 10@ Miller-Rabin素性测试与Pollard-Rho因数分解

分解质因数(解密源代码)

「AHOI2018 初中组」根式化简(分解质因数+推性质)

代码实现:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5