B1013. 数素数 (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 <stdlib.h>
 3 #include <iostream>
 4 #include <string.h>
 5 #include <string>
 6 #include <math.h>
 7 #include <algorithm>
 8 using namespace std;
 9 
10 
11 const int maxn=1000000;
12 int prime[maxn],pnum=0;
13 bool p[maxn]={0};
14 void Find_Prime(){
15     for(int i=2;i<maxn;i++)
16     {
17         if(p[i]==false)
18         {
19             prime[pnum++]=i;
20             for(int j=i+i;j<maxn;j+=i)
21             {
22                 p[j]=true;
23             }
24         }
25     }
26 } 
27 int main(){
28    Find_Prime();
29    int m,n;
30    scanf("%d %d",&m,&n);
31    for(int i=0;i<=n-m;i++)
32    {
33        printf("%d",prime[m+i-1]);
34        if(i%10==9)printf("
");
35        else if (i!=n-m)printf(" ");
36        else ;
37    }
38     return 0;
39 }
原文地址:https://www.cnblogs.com/ligen/p/4302673.html