首页 > 代码库 > PAT 1013. 数素数 (20)

PAT 1013. 数素数 (20)

令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<stdio.h>
 2 #include<string.h>
 3 #include<math.h>
 4 int main(){
 5     int n,m;
 6     scanf("%d %d",&n,&m);
 7     int sum = 0;
 8     int i = 1;
 9     int j;
10     int k = 0;
11     int number[10001];
12     while(i++){
13         for(j=2;j<=(int)sqrt(i);j++){
14             if(i%j==0)
15                 break;
16         }
17         if(j>(int)sqrt(i)){
18             sum++;    
19             if(sum>=n&&sum<=m){
20                 if((sum-n+1)%10==1){
21                     printf("%d",i);
22                 }
23                 else
24                     printf(" %d",i);
25                 if((sum-n+1)%10==0){
26                     printf("\n");
27                 }
28             }
29         }
30         if(sum>m)
31             break;
32     }
33 }

 

PAT 1013. 数素数 (20)