数素数

题源

PTA 乙级

题解


#include<stdio.h>
int judge(int n){
    long i;
	if(n==1)return 0;
    if(n==2)return 1;
    if(n%2==0)return 0;
    for(i=3;i*i<=n;i+=2)
        if(n%i==0)return 0;
    return 1;
}
int M,N;
long primer[10001];
//10000 的primer 超过了int的范围233
int count = 1,flag = 0;
int main(){
    scanf("%d %d",&M,&N);
    long i = 0;
    for(i = 2;count <= 10000;i++) if(judge(i))primer[count] = i,count++;
    for(i = M;i <= N;i++){
        if(flag%10!=0)printf(" ");flag++;
        printf("%ld",primer[i]);
        if(flag%10==0)printf("\n");
    }
    getchar();getchar();   
    return 0;
}
posted @ 2021-04-26 12:17  summeriver13  阅读(18)  评论(0)    收藏  举报