--5.4プライムアルゴリズムノート

説明タイトルは
整数Nを入力する(2 <= N <= 10000)、 全ての出力が1から、この整数が必要(整数1を含まない)番目のビットは、次に出力素数であり、そうでない場合は-1。

入力し
たデータの入力複数のセットを。
各行は、nを入力します。

出力は、
1から全ての整数の出力(整数1を含まない)番目のビットを1つの素数(素数がスペースで区切らず、素数の後ろに最終的にはスペース)、そうでない場合は出力され-1。

入力サンプル
70
サンプル出力
11314161

コード

#include <cstdio>

int prime[10000],pNum;
void Find_prime(int n){
    bool p[10000] = {0};
    pNum = 0;
    for(int i=2;i<n;i++){
        if(p[i] == false){
            prime[pNum++] = i;
            for(int j=i+i;j<n;j+=i){
                p[j] = true;
            }
        }
    }
}

int main(){
    int n;
    while (scanf("%d",&n) != EOF)
    {
        Find_prime(n);
        int A[pNum],k=0;
        for(int i=0;i<pNum;i++){
            if(prime[i] % 10 == 1){
                A[k++] = prime[i];
            }               
        }
        if(k == 0)
            printf("-1\n");
        else
        {
            for(int i=0;i<k;i++){
                printf("%d",A[i]);
                if(i != k-1){
                    printf(" ");
                }    
                else{
                    printf("\n");
                }
            }
        }
    }
    return 0;
}

交流

リリース6元記事 ウォンの賞賛1 ビュー142

おすすめ

転載: blog.csdn.net/captain_chengzi/article/details/104039571