1013 数素数 (20分)
令 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>
#define MAXNUM 10000
int Isprime(int n)
{
int i,isprime=1;
for(i=(int)sqrt(n);i>=2;i--){
if(n%i==0){
isprime=0;
}
}
return isprime;
}
int main()
{
int N,M;
scanf("%d %d",&M,&N);
int A[N+1],cnt=3,i;//A数组记录素数
A[1]=2;
A[2]=3;
for(i=3;i<=N;i++){
A[i]=0;
}
for(i=4;cnt<=N;i++){
if(Isprime(i)){
A[cnt]=i;
cnt++;
}
}
for(i=M;i<=N;i++){
if((i-M)%10==9){
printf("%d\n",A[i]);
}else if(i==N){
printf("%d",A[i]);
}else{
printf("%d ",A[i]);
}
}
}
来源:CSDN
作者:derbi123123
链接:https://blog.csdn.net/derbi123123/article/details/103747323