判断质数是数学的基本之一 。
judge_prime的关键是在2~sqrt(n)的范围内寻找是否有不符的值,若有,即不是质数。
bool judge_prime(int &n)
{
if(n<=1) return false;
if(n==2) return true;
for (int i=2; i<=int(sqrt(n)); i++)
if (n%i==0) return false;
return true;
}
素数表函数Get_Prime如下:
void Get_Prime(int N)
{
memset(Prime,true,sizeof(Prime));
Prime[1]=false;
for (int i=2; i<=N; i++)
if (Prime[i])
for (int j=i*2; j<=N; j+=i) Prime[j]=false;
}