您的位置:首页 > 其它

1013. 数素数 (20)

2017-03-13 22:11 197 查看

本题要求:

令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<iostream>
#include<cmath>
#include<cstdio>
#include<algorithm>

using namespace std;

int main() {
int min, max;
cin >> min >> max;
int a[10001];
int size = 2;
int n = 0;
a[0] = 1;
a[1] = 2;
int i = 3;
while (size <= max) {
double time = sqrt(i);
int k = 1;
bool isSuShu = true;
while (a[k] <= time) {
if (i % a[k] == 0) {
isSuShu = false;
break;
}
k++;
}
if (isSuShu) {
a[size++] = i;
}
i++;
}
n = 0;
for (int i = min; i <= max; i++) {
if (n != 0) {
cout << " ";
}
cout << a[i];
n++;
if (n == 10) {
n = 0;
cout << endl;
}
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: