令 Pi 表示第 i 个素数。现任给两个正整数 M≤N≤104,请输出 PM 到 PN 的所有素数。
输入格式:
输入在一行中给出 M 和 N,其间以空格分隔。
输出格式:
输出从 PM 到 PN 的所有素数,每 10 个数字占 1 行,其间以空格分隔,但行末不得有多余空格。
int main()
{
int a,b;
scanf("%d %d",&a,&b);
int i,j;
int x=0,y=0;
for(i=2;y<=b;i++)//按序列输出所有素数 这个地方程序还可以优化,即是如果i是奇数,就可以+2,不用执行偶数
{
x=0;
for(j=2;j<=sqrt(i);j++)//优化程序:只需要输出到开方
{
if(i%j==0)x=x+1;
}//判断是否是素数
if(x==0)//!!!!!!!!一开始是以下几个if是顺序结构,但是发现只要y在a和b之间,即使不计数,也会打印出
{
y=y+1;//如果是素数,就计数+1
if(y>=a&&y<=b)
{
printf("%d",i);//如果在a和b之间,就输出此数
if((y-a+1)%10==0)printf("\n");//打印空格
else if(y!=b)printf(" ");//打印空格!!!!!!!!!这个地方要注意的是在最后一个数字输出的时候不用加空格
}
}
}
return 0;
}
有多余空格。