令 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
结尾无空行
#include <stdio.h>
#include <math.h>
int main(){
int a,b,p=0,m=0,k=1,i=2,j=2;//k等于0或1;p是第p个素数,i为待测的正整数,
scanf("%d%d",&a,&b);
while(p<=b){
k=1;//假定是素数;
for(j=2;j<=sqrt(i);j++){//检测是否为素数
if(i%j==0){
k=0;
}
}
if(k==1){
p++;
if(p>=a&&p<=b){
m++;//检测在包括a与b之间的素数个数,
if(m%10==1&&m!=1){
printf("\n");
}
printf("%d",i);
if(m%10>=1&&m%10<=9){
if(p!=b){
printf("...");
}
}
}
}
i++;
}
return 0;
}