令Pi表示第i个素数。现任给两个正整数M <= N <= 104,请输出PM到PN的所有素数。
输入格式:
输入在一行中给出M和N,其间以空格分隔。
输出格式:
输出从PM到PN的所有素数,每10个数字占1行,其间以空格分隔,但行末不得有多余空格。
输入样例:
5 27
输出样例:
11 13 17 19 23 29 31 37 41 4347 53 59 61 67 71 73 79 83 8997 101 103
1 #include2 #include 3 4 int main() 5 { 6 int m, n; 7 scanf("%d %d", &m, &n); 8 int k, a, b=0 ,i, c[10000]; 9 for(a = 2; ; a++) { //先求前10000个素数并存放在c数组中 10 k=sqrt(a); //k等于a的开根号 11 for(i = 2; i <= k; i++) {12 if(a % i == 0) 13 break;14 }15 if(i>k) { //判断是否为素数 16 c[b]=a;17 b++;18 if(b >= 10000) //结束条件 19 break;20 }21 }22 int d = 0; 23 for(i = m; i <= n; i++) {24 d++;25 printf("%d", c[i-1]); //输出第i个素数 26 if(d % 10 != 0 && i != n) {27 printf(" ");28 }29 else if(d % 10 == 0) {30 printf("\n");31 }32 }33 }