トピックコンテンツ
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];
}