令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<cstdio>
 2 #include<iostream>
 3 #include<cmath>
 4 #include<cstring>
 5 using namespace std;
 6 
 7 int a[111005];//注意是素数数量在10^4以内,不是范围
 8 
 9 bool prime(int num)
10 {
11     if(num==0||num==1)
12         return false;
13     else if(num==2||num==3)
14         return true;
15     else{
16         for(int i=2;i<sqrt((double)num)+1;i++)
17             if(num%i==0)
18                 return false;
19     }
20     return true;
21 }
22 
23 int main()
24 {
25     int k=1;
26     for(int i=1;i<111005;i++)
27         if(prime(i))
28             a[k++]=i;
29     int m,n;
30     scanf("%d%d",&m,&n);
31     for(int i=m;i<=n;i++)
32     {
33         if((i-m+1)%10==1)
34             printf("%d",a[i]);
35         else if((i-m+1)%10==0)
36             printf(" %d\n",a[i]);
37         else
38             printf(" %d",a[i]);
39     }
40     //printf("\n%d\n",k);
41     return 0;
42 }