文章
85
粉丝
0
获赞
394
访问
7.8k
#include <iostream>
#include <vector>
#include <cmath>
using namespace std;
const int MAXN = 10001;
// is_prime[i] 为 true 表示 i 是素数
bool is_prime[MAXN];
void sieve() {
fill(is_prime, is_prime + MAXN, true);
is_prime[0] = is_prime[1] = false;
for (int i = 2; i * i < MAXN; i++) {
if (is_prime[i]) {
for (int j = i * i; j < MAXN; j += i) {
is_prime[j] = false;
}
}
}
}
int main() {
sieve();
int n;
while (cin >> n) {
vector<int> results;
for (int i = 2; i < n; i++) {
if (is_prime[i] && i % 10 == 1) {
results.push_back(i);
}
}
if (results.empty()) {
cout << -1 << endl;
} else {
for (int i = 0; i < results.size(); i++) {
cout << results[i] << (i == results.size() - 1...
登录后发布评论
暂无评论,来抢沙发