令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 #include <iostream> 2 #include <cmath> 3 #define N 10000 4 using namespace std; 5 6 7 int main() 8 { 9 int num[N] = { 0 }; 10 num[0] = 2; 11 int i, j=0, flag = 0; 12 int m, n; 13 cin >> m>> n; 14 for (i = 3; j<n; i++) { // j 记录素数的个数 15 for (j = 0; num[j] != 0; j++) { 16 if (i % num[j] == 0) { 17 break; 18 } 19 else if (num[j + 1] == 0) { 20 num[j+1] = i; 21 break; 22 } 23 } //for j 24 25 } //for i 26 27 for (int i = m - 1; i < n; i++) { 28 if (flag == 0) { 29 cout << num[i]; 30 flag++; 31 } 32 else if (flag != 0 && flag < 9) { 33 cout << " " << num[i]; 34 flag++; 35 } 36 else if (flag == 9) { 37 cout << " " << num[i] << endl; 38 flag = 0; 39 } 40 41 } 42 system("pause"); 43 return 0; 44 }