/*
素数预处理 一次处理 后面判断素数就很方便了
*/
#include<iostream>
#include<cmath>
using namespace std;
#define MAX 1000000
int P[MAX+1];
void getprime() //预处理
{
P[1]=1; //1不是素数
for(long i=2;i<=MAX;i++)
{
if(!P[i])
{
//P[i]=1;
for(long j=2*i;j<=MAX;j+=i)
{
P[j]=1;
}
}
}
}
int main()
{
getprime();
for(int i=1;i<100;i++)
if(P[i]) cout<<i<<"不是素数\n";
else cout<<i<<"是素数\n";
}
素数筛选法(预处理)
最新推荐文章于 2023-09-13 13:27:05 发布