[质数、分解质因数、素筛] |
您所在的位置:网站首页 › 质数合数奇数偶数定义 › [质数、分解质因数、素筛] |
出chatgpt独享账号!内含120美元!仅需38元/个!独享永久使用!点击购买! 质数 质数是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数。定义质数又称素数。 试除法判定质数$$ 试除法判定质数就是从定义出发,除了1和它本身以外不再有其他因数 $$ $$ 我们可以从判断[2, n]中是否有它的因子 $$ $$ 我们没必要把所有[2, n]的数都进行判断,只需要判断到\sqrt{n}即可 $$ $$ 证明:假设a|n则 \frac{n}{a}|n,则min(\frac{n}{a}, a)|n $$ $$ 所以只需要遍历到满足a^2\sqrt{n}的大质因数的可能 $$ $$ 如 28=2^2 \times 7而 \sqrt{28} $$ 实际上 28 / 2 ^ 2 = 7,此时 n 就是留下的大质因数本身 $$ $$ 可以证明这样的大质因数最多只有一个且次数唯一 $$ $$ 所以在循环之后判断一下n > 1即n是否除尽即可。 $$ 质数筛 埃氏筛法$$ 枚举所有没被筛的数(这些数一定是质数),将这些数的倍数筛掉 $$ $$ 时间复杂度O(\log^{\log^{n}}) $$ 线性筛法$$ 我们知道用埃氏筛法有的数会被重复筛除,线性筛法的思想就是每个合数的最小质因子来筛除它。 $$ $$ 由于一个数的最小质因子,只有一个所以一个数最多只被筛一次,时间复杂度O(n) $$ for (int i = 2; i |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |