素数性质
- 素数是大于1的正整数且只能被1和自身整除
- 设p是素数且(p|ab),则必有(p|a)或者(p|b)
素数定理
[pi(x)/(x/ln(x))=1
]
素数的猜想
伯特兰猜想:对于任意正整数(n>1),存在一个素数(p),使得(n<p<2n)
孪生素数猜想:存在无穷多的形如(p)和(p+2)的素数对
歌德巴赫猜想:每个大于2的正偶数可以写成两个素数的和
(n^2+1)猜想:存在无穷多个形如(n^2+1)的素数,其中n是正整数。
素数筛
Eratosthenes筛法
//vis[i]=1,表示i是合数
memset(vis,0,sizeof(vis));
for(int i=2;i<=n;i++)
for(int j=i*2;j<=n;j++) vis[j]=1;
//稍加优化
int m=sqrt(n+0.5);
memset(vis,0,sizeof(vis));
for(int i=2;i<=m;i++) if(!vis[i])
for(int j=i*i;j<=n;j+=i) vis[j]=1;
算术基本定理:
- 若n的素因子分解表达式为(n=p_1^{a_1}+p_2^{a_2}+p_3^{a_3}+cdots+p_k^{a_k})
(d(n))为n的所有因子之和:(d(n)=(a_1+1) imes(a_2+1) imes(a_3+1)cdots(a_k+1))
(phi(n))为所有因子之和:$$phi(n)=frac{p_1{a_1+1}-1}{p_1-1} imesfrac{p_2{a_2+1}-1}{p_2-1}cdotsfrac{p_k^{a_k+1}-1}{p_k-1}$$ - 若a的素因子分解表达式为(x=p_1^{a_1}+p_2^{a_2}+p_3^{a_3}+cdots+p_k^{a_k})
y的素因子分解表达式为(a=p_1^{b_1}+p_2^{b_2}+p_3^{b_3}+cdots+p_k^{b_k})
[gcd(x,y)=p_1^{min(a_1,b_1)}+p_2^{min(a_2,b_2)}+p_3^{min(a_3,b_3)}+cdots+p_k^{min(a_k,b_k)}
]
[lcm(x,y)=p_1^{max(a_1,b_1)}+p_2^{max(a_2,b_2)}+p_3^{max(a_3,b_3)}+cdots+p_k^{max(a_k,b_k)}
]
- (lcm(a,b) imes gcd(a,b)=a imes b)
- (n!)的素因子分解中的素数p的幂为$$[n/p]+[n/p2]+[n/p3]+cdots$$