文章
20
粉丝
130
获赞
2
访问
11.7k
/*
用到2个数组 vector 定义,一个数组用来标记1-n中,是素数的数字;然后遍历,存放1-n素数
*/
#include<bits/stdc++.h>
using namespace std;
vector<int> pn;//素数数组
int prime(int x)//判断素数
{
int flag=1;//1是素数
if(x==1) return 0;//0不是素数
for(int j=2;j<=sqrt(x);j++)
{
if(x % j==0){
flag=0;//不是素数;
break;
}
}
return flag;
}
void getPrinme(int n)//筛选1-n的素数
{
vector<int> flag(n+1,1);
flag[0]=0,flag[1]=0;
//素数标记1
int p=2;
//标记素数
while(p*p <=n)
{
for(int i=2*p;i<=n;i+=p)
{//删除质数p的整数倍
flag[i]=0;
}
...
登录后发布评论
暂无评论,来抢沙发