令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 8997 101 103
#include<iostream> #include<math.h> using namespace std; int a[100005]; int main() { int count=1; a[0]=2; int n=3; bool f=true; int k=0; int M,N; cin>>M>>N; while(count!=N) { for(int i=2;i<=sqrt(n);i++)//减少运行时间 { if(n%i==0) { f=false; break; } } if(f) { a[count++]=n; } f=true; n++; } int cc=0; for(int i=M-1;i<N-1;i++) { cout<<a[i]; cc++; if(cc!=10) { cout<<" ";//保证每行后面没有空格 } if(cc==10)//10个一换行 { cout<<endl; cc=0; } } cout<<a[N-1];//行末不能有多余空格 return 0; }