浅谈质数与同余
一、质数
定义:除了1和本身两个数都不能被整除的自然数叫做质数,否则为合数。
0和1既不是质数也不是合数,最小的合数是4,
最小的质数是2,是唯一的偶质数,质数有无穷多个
质数分布定理:
对正实数x,定义P(x)为不大于x的质数个数,则有P(x)=O(x/lnx)
由质数定理可以给出第n个质数p(n)的渐进估计:p(n)≈nlnn
二、唯一分解定理(算术基本定理)
任意大于1的自然数都能被质数的质数幂的乘积表示
运用:试除法(质因数分解或求一个数的约数)、质数判定
时间复杂度O(sqrt(n))
由此衍生出埃式筛法和线性筛法(欧拉筛法)
埃式筛法时间复杂度为O(nloglogn)
线性筛法时间复杂度为O(n)
埃式筛法
先将2的倍数删去,再将3的倍数删去,即按顺序将质数的倍数删去
for (int i=2;i<=n;i++)
if (!v[i]){
prime