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("\n"); 35 else if (i!=n-m)printf(" "); 36 else ; 37 } 38 return 0; 39 }