令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
注意:判断素数的时候除数从2到该数的平方根,否则会提示超时#include<iostream> #include<math.h> using namespace std; int main() { int n=1,M,N,i=0; int count=0,num=0; cin>>M>>N; while(++n) { for(i=2;i<=int(sqrt(n*0.1*10.0));i++) { if(n%i==0) break; } i=i-1;//注意for循环后面的i++,因此此处要减一 if(i==int(sqrt(n*0.1*10.0))) { count++; if(count>=M&&count<=N) { num=num+1; cout<<n; if(num<10&&count!=N) cout<<' '; else { num=0; cout<<endl; } } } if(count>N) break; } }