相关数学理论和公式(素数)
素数性质
- 素数是大于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)\times(a_2+1)\times(a_3+1)\cdots(a_k+1)\)
\(\phi(n)\)为所有因子之和:$$\phi(n)=\frac{p_1{a_1+1}-1}{p_1-1}\times\frac{p_2-1}{p_2-1}\cdots\frac{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)\times gcd(a,b)=a\times b\)
- \(n!\)的素因子分解中的素数p的幂为$$[n/p]+[n/p2]+[n/p3]+\cdots$$