令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<stdio.h> #include<math.h> #define N 10001 int isPrimer(int n){ int flag = 1, limit, i; if (n <= 1){ flag = 0; } else if (n == 2){ flag = 1; } else if (n % 2 == 0){ flag = 0; } else{ limit = sqrt(n) + 1; for (i = 3; i <= limit; i += 2){ if (n%i == 0){ flag = 0; } } } return flag; } int main(){ int n, m, t; scanf("%d%d", &n, &m); int a[N], count = 1; for (t = 2; count <= m; ++t){ if (isPrimer(t) == 1){ a[count] = t; ++count; } } for (t = 0; t <= m - n; ++t){ if (t % 10 != 9){ if (t == m - n){ printf("%d", a[t + n]); } else{ printf("%d ", a[t + n]); } } else{ printf("%d\n", a[t + n]); } } return 0; }