令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
100ms 没法用python水了...
#include <iostream> using namespace std; const int MAXNUM = 1000000; int Prime[10000] = {0}; void BuildPrime(int n){ char Sign[MAXNUM] = {0}; int pos = 0; for(int i= 2;true;++i){ if(!Sign[i]) Prime[pos++] = i; if(pos>n) break; for(int j = i;j<MAXNUM;j+=i) Sign[j]= 1; } } int main() { int m,n; cin>>m>>n; BuildPrime(n); for(int i=m-1,j=1;i<n;++i,++j){ cout<<Prime[i]; if(j%10==0 || i == n-1) cout<<endl; else cout<<" "; } return 0; }