#include<stdio.h>
#include<math.h>
void main(){
int i,j,t=0;//注意初始值已经有一个,后面需要剪掉
int m,n;
int a[110001];
int b[100000];
scanf("%d%d",&m,&n);
for(i=0;i<110000;i++){
a[i]=i;
}
a[1]=0;
for(i=2;i<=sqrt(110000);i++){//建立一个素数表,将不是素数的位置填入0
if(a[i]==0)continue;
for(j=i+1;j<=110000;j++){
if(a[i]!=0&&a[j]!=0){
if(a[j]%a[i]==0){
a[j]=0;
}
}
}
}
j=0;
for(i=0;i<110000;i++){//将a素数表聚集在一起放入b中
if(a[i]!=0)b[j++]=a[i];
}
for(i=m-1;i<n-1;i++){
t++;
if(t%10==0){
printf("%d\n",b[i]);
}else{
printf("%d ",b[i]);
}
}
printf("%d\n",b[i]);
}
PTA1013 数素数 (20 分)
最新推荐文章于 2024-07-18 16:42:53 发布