当前位置: 代码迷 >> 综合 >> 1013. 数素数 (20) PAT
  详细解决方案

1013. 数素数 (20) PAT

热度:128   发布时间:2023-09-24 06:11:30.0

1013. 数素数 (20)

时间限制
100 ms
内存限制
65536 kB
代码长度限制
8000 B
判题程序
Standard
作者
CHEN, Yue

令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 <cstdio>
#include <cstring>
#define MAX 1050000
#define max 10005
int number[MAX];
int prime[max];
int size=1;
void primeinit(){memset(number,0,sizeof(number));for(int i=2;i<MAX;i++){if(number[i]==0){prime[size++]=i;if(size==10002)break;if(i<=10000){for(int j=i*i;j<MAX;j=j+i){number[j]=1;}}}}}int main(){primeinit();//printf("%d",prime[10000]);int m,n;scanf("%d%d",&m,&n);int count=0,first=1;for(int i=m;i<=n;i++){if(first==1){printf("%d",prime[i]);first=0;count++;}else{printf(" %d",prime[i]);count++;if(count==10){count=0;first=1;printf("\n");} }}return 0;
}