• 1163.素数


    题目描述:

    输入一个整数n(2<=n<=10000),要求输出所有从1到这个整数之间(不包括1和这个整数)个位为1的素数,如果没有则输出-1。

    输入:

    输入有多组数据。
    每组一行,输入n。

    输出:

    输出所有从1到这个整数之间(不包括1和这个整数)个位为1的素数(素数之间用空格隔开,最后一个素数后面没有空格),如果没有则输出-1。

    样例输入:
    100
    样例输出:
    11 31 41 61 71
    #include<iostream>
    using namespace std;
    
    int prime[10000];
    int size;
    bool mark[10001];
    void init(){
        for(int i=1;i<=10000;i++){
            mark[i]=false;
        }
        size=0;
        for(int i=2;i<=10000;i++){
            if(mark[i]==true)continue;
            prime[size++]=i;
            for(int j=i*i;j<=10000;j+=i){
                mark[j]=true;
            }
        }
    }
    
    int main(){
        int n;
        init();
        while(cin>>n){
            bool is=false;
            for(int i=0;i<size;i++){
                if(prime[i]<n && prime[i]%10==1){
                    if(is==false){
                        is=true;
                        cout<<prime[i];
                    }
                    else cout<<" "<<prime[i];
                }
            }
            if(is==false){
                cout<<"-1"<<endl;
            }
            else cout<<endl;
        }
        return 0;
    }
  • 相关阅读:
    钱多多软件制作04
    团队项目01应用场景
    HDU 4411 arrest
    HDU 4406 GPA
    HDU 3315 My Brute
    HDU 3667 Transportation
    HDU 2676 Matrix
    欧拉回路三水题 POJ 1041 POJ 2230 POJ 1386
    SPOJ 371 BOXES
    POJ 3422 Kaka's Matrix Travels
  • 原文地址:https://www.cnblogs.com/bernieloveslife/p/9735121.html
Copyright © 2020-2023  润新知