题解 | #素数#

素数

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;
    }
}

全部评论

相关推荐

牛客100866号技...:把电科加粗,把电科加粗,把电科加粗,两个吊车尾的项目合并成一个,再加一个管理系统。电科✌🏻在成都面中厂手拿把掐
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
04-30 18:05
空屿编号:你把墨镜摘下来是不是这样😭
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务