令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
#include<iostream> #include<math.h> using namespace std; int main() { /*输入素数的下标*/ int M,N; cin >> M >> N; /*找出前N个数组*/ int n[10000], i,k=0,j,b=1; n[0] = 2; /*由于已规定N大于M,所以只需算出N的素数*/ if (M == 1&&N>1) cout << "2"<<" "; if (M == 1 && N == 1) cout << "2"; for (i = 3; b < N; i++) { k = 0; if (i % 2 == 0) continue; else { for (j = 3; j <= sqrt(i); j++) { if (i % j == 0) { k = 1; break; } } if (k) ; else { //n[b] = i; if (b > M - 2) { cout << i; b++; if (((b-M+1) % 10) == 0) cout << "\n"; else if (b< N) cout << " "; } else b++; } } } return 0; }