题目描述
令Pi表示第i个素数。现任 给两个正整数M<N<104,请输出PM到PN的所有素数。
输入格式
输入在一行中给出 M 和 N,其间以空格分隔。
输出格式
输出PM到PN的所有素数,每10个数字占一行,其间以空格分隔,但行末不得有多余空格。
样例
输入样例 1:
5 27
输出样例 1:
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>
int main(){
int su[10000];
int num;
int m,n,len,i;
int flag = 0;
su[0] = 2;
num = 3;
len = 1;
scanf("%d%d",&m,&n);
if(m == 1){
printf("%d", su[len-1]);
}
while(1){
flag =0;
for(i =0;i<len&&su[i]<=num/2;i++){
if(num%su[i] == 0){
flag = 1;
break;
}
}
if(flag == 0){
su[len++] = num;
if(len>=m&&len<=n){
if((len-m)%10 == 0){
printf("%d", su[len-1]);
}else if((len-m)%10 == 9){
printf(" %d\n", su[len-1]);
}else{
printf(" %d", su[len-1]);
}
}else if(len> n){
break;
}
}
num ++;
}
return 0;
}