[PAT] B1013

来源:互联网 发布:java spring框架详解 编辑:程序博客网 时间:2024/05/19 12:38

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
P.S.小心数字越界,谢谢!

AC代码:

#include <iostream>const int maxn = 120000;//素数表的表长 int prime[maxn], pNum = 0;//prime数组存放所有素数,pNum为素数个数 bool p[maxn] = {0};//i为素数,p[i]为真,否则为假 void Find_Prime() {for(int i = 2; i < maxn; i++) {//从2开始,pNum=maxn结束 if(p[i] == false) {//如果i是素数 prime[pNum++] = i;//把i存到prime数组里 for(int j = i ; j < maxn; j += i){//筛去所有i的倍数 p[j] = true;}}}}int main(){Find_Prime();int left, right, count = 0, first = 1;std:: cin >> left >> right;for(int i = left - 1; i < right; i++){if(first) first = 0;else std::cout << " ";std::cout << prime[i];count++;if(count == 10){std::cout << std::endl;count = 0;first = 1;}}return 0;}


0 0
原创粉丝点击