数素数的一道题,请求指导!谢谢!
令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 M,N,i,j,ss,bss=0; //ss为每个素数,bss为素数的判断标志
scanf("%d,%d",&M,&N);
int a[N];
i=0;
for(ss=1;i<N;ss++){ //for循环将第N个素数之前的所有素数按顺序放入a数组
bss=0;
for(j=2;j<=ss/2;j++){
if(ss%j==0) bss=1; break;}
if(bss==0){
a[i]=ss;
i++;}
}
for(i=M-1;i<N;i++) //输出第M-N个素数
if((i-M+2)%10!=0) printf("%d ",a[i]);
else printf("%d\n",a[i]);
return 0;
}
按理说应该没问题了啊。。可就是运行不了。。
希望大大们帮忙看一下,感激不尽。