PAT乙级1013 数素数

来源:互联网 发布:淘宝当当旗舰店 编辑:程序博客网 时间:2024/05/28 18:44

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 4347 53 59 61 67 71 73 79 83 8997 101 103
#include<stdio.h>#include<string.h>#define size 105000int isprime[size];void prime(void);int main(void){prime();int M = 0, N = 0;scanf("%d %d", &M, &N);int count = 1;//记录当前的素数是第几个素数int newline = 0;//控制换行int pause = 1;//控制空格的输出for (int i = 0; i < size; i++){if (isprime[i]){if (count >= M&&count <= N){if (pause){pause = 0;}else{printf(" ");}printf("%d", i);newline++;if (newline == 10){printf("\n");newline = 0;//输出换行之后计数器重置pause = 1;}}count++;}}return 0;}void prime(void)//构造素数表{for (int i = 0; i < size; i++){isprime[i] = 1;}isprime[0] = 0;isprime[1] = 0;for (int i = 2; i < size; i++){if (isprime[i]){for (int x = 2; x*i < size; x++){isprime[i*x] = 0;}}}}

0 0
原创粉丝点击