文章

74

粉丝

0

获赞

98

访问

8.9k

头像
素数 题解(素数筛-模板题):
P1375 北京航空航天大学机试题
发布于2025年8月9日 16:54
阅读数 131

#include<bits/stdc++.h>
using namespace std;

// 素数筛模板getPrime,prime[0]存储素数的个数
const int maxn = 10000 + 5;
int prime[maxn];
void getPrime(){
	memset(prime, 0, sizeof(prime));
	for(int i = 2; i <= maxn; i ++){
		if(!prime[i]) prime[++prime[0]] = i;
		for(int j = 1; j <= prime[0] && prime[j] * i <= maxn; j ++){
			prime[prime[j] * i] = 1;
			if(i % prime[j] == 0) break;
		}
	}
};

int main(){
	
	getPrime();
	int n;
	while(cin >> n){
		int flag = 0;
		for(int i = 1; i < maxn && prime[i] < n; i ++){
            // 判断个位数是否为1
			if(prime[i] % 10 == 1){
				flag = 1;
				cout << prime[i] << ' ';
			}
		}
		
		if(flag == 0) cout << "-1";
		
		cout << endl;
	}
	
	return 0;
}

 

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发