文章

56

粉丝

0

获赞

116

访问

2.6k

头像
素数 题解:vector+issu()+sqrt=AC
P1375 北京航空航天大学机试题
发布于2026年3月10日 22:50
阅读数 31

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

int issu(int n)
{
	int t = sqrt(n);
	int flag = 1;//judgement
	for (; t < n / 2 + 1; t++)
		if (n % t == 0)
		{
			flag = 0;
			break;
		}
	return flag;
}
int main()
{
	int n;
	while (cin >> n)
	{
		if (n <= 11)
			cout << "-1" << endl;
		else
		{
			vector<int> list;
			int pos = 0;
			for (int i = 11; i < n; i++)
			{
				if (i % 10 == 1)
					if (issu(i))
					{
						list.push_back(i); 
						pos++;
					}
			}
			for (int i = 0; i < pos - 1; i++)
				cout << list[i] << " ";
			cout << list[pos - 1] << endl;
		}
	}
	return 0;
}
			

 

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发