题解 | #素数#
素数
https://www.nowcoder.com/practice/7f4be54b37a04fdaa4ee545819151114
//用素数筛法找出所有质数
//质数的倍数为非质数
#include <iostream>
using namespace std;
int isPrime[10001];
void Initial()
{
for(int i=0;i<=10000;i++)
{
isPrime[i]=1;//先都认为是质数
}
isPrime[0]=0;
isPrime[1]=0;
for(int i=2;i<=10000;i++)//找出真正的素数
{
if(isPrime[i]==0)continue;
for(int j=i*2;j<=10000;j+=i)//质数的倍数为非质数
{
isPrime[j]=0;
}
}
}
int main() {
Initial();
int n;
while (cin >> n) {
int flag=0;//没有各位为1 的素数
for(int i=2;i<n;i++)
{
if(isPrime[i]==1&&i%10==1)
{
flag=1;
cout<<i<<" ";
}
}
if(flag==0)cout<<"-1";
cout<<endl;
}
}
