PATグレードB1013ナンバープライム(20ポイント)

トピックコンテンツ

Piがi番目の素数を表すとします。2つの正の整数M≤N≤104が与えられた場合、PMからPNまでのすべての素数を出力してください。

入力フォーマット:

入力は、スペースで区切られた1行にMとNを与えます。

出力フォーマット:

PMからPNまでのすべての素数を出力します。10個の数字ごとに1行、スペースで区切りますが、行の終わりに余分なスペースはありません。

入力サンプル:

5 27

最後に空白行はありません

サンプル出力:

11 13 17 19 23 29 31 37 41 43
47 53 59 61 67 71 73 79 83 89
97 101 103

最後に空白行はありません

問題解決のアイデア

この質問については何も言うことはありません。タイトルによれば、暴力的であるだけで十分です。acの主題が暴力的である可能性がある場合は、なぜ暴力的ではないのでしょうか。

詳細なコード

#include <iostream>
#include <algorithm>
#include <cmath>
using namespace std;
int s[10001];
bool is_prime(int n){
    for(int i = 2;i<=sqrt(n);i++){
        if(n%i==0) return false;
    }
    return true;
}
int main(){
    int M,N,count = 1;
    cin>>M>>N;
    int k = 2;
    s[0] = 2;
    s[1] = 3;
    for( int i = 4;k<10001;i++){
        if(is_prime(i)) s[k++] = i;
    }
    for(int i = M;i<N;i++){
            if(count%10==0) cout<<s[i-1];
            else cout<<s[i-1]<<" ";
            if(count%10==0) cout<<"\n";
            count++;
        
    }
    cout<<s[N-1];
}

おすすめ

転載: blog.csdn.net/weixin_45660485/article/details/119286901