令 Pi表示第 i 个素数。现任给两个正整数 M≤N≤104
,请输出 PM到 PN的所有素数。
输入格式:
输入在一行中给出 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
注意点:
学会判断素数的函数,注意每十个输出一回车,结尾不能有空格。
代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
| #include <iostream> #include <cstdio> #include <algorithm> #include <vector> using namespace std;
bool isPrime(int n){ for(int i=2;i*i<=n;i++){ if(n%i==0) return false; } return true; } int main(){ int m,n,count=0,num=2; vector<int> v; cin>>m>>n; while(count<n){ if(isPrime(num)){ count++; if(count>=m){ v.push_back(num); } } num++; } int prime_count=0; for(int i=0;i<v.size();i++){ prime_count++; cout<<v[i]; if(prime_count%10==0) cout<<endl; if(prime_count%10!=0 && i<v.size()-1) cout<<" "; } return 0; }
|