令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 }
时间: 2024-10-20 02:21:29