1.每lnN个数大约有一个质数
2.若n为正整数,在到
之间至少有一个质数。
3.若n为大于或等于2的正整数,在n到n!之间至少有一个质数。
4.若质数p为不超过n(n>=4)的最大质数,则p>n/2.
5.所有大于10的质数中,个位数只有1,3,7,9。
6.任何一个大于1的自然数都可以分解成几个素数连乘积的形式,而且这种分解是唯一的。
大于1且第一个能被该自然数整除的数肯定是该分解中最小的素因子。(质因数分解)
7.如果2P-1是素数,那么P一定也是个素数。
1.线性筛法:
#include<bits/stdc++.h>
using namespace std;
const int M=1e8+7;
int n,m;
int prime[M];//第i个素数
int v[M];//i的最小素数
void gao()
{
for(int i=2;i<=n;i++)
{
if(v[i]==0)prime[++m]=i,v[i]=i;
for(int j=1;j<=m;j++)
{
if(i*prime[j]>n)break;
v