全re求助
查看原帖
全re求助
1121599
dzyuv楼主2023/12/6 22:41
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const ll N = 1e8 + 10;
bool st[N];
ll a[N];
ll cnt;
void getprime(int n)
{
	for (int i = 2; i <= n; i++)
	{
		if (!st[i])a[cnt++] = i;
		for (int j = 0; j < n / i; j++)
		{
			st[a[j] * i] = true;
			if (a[j] % i == 0)break;
		}
	}
}
void solve()
{
	int m, q;
	cin >> m >> q;
	getprime(m);
	while (q--)
	{
		ll x;
		cin >> x;
		cout << a[x -1] << endl;
	}
}
signed main()
{
	std::ios::sync_with_stdio(0);
	cin.tie(0);
	cout.tie(0);
	int n = 1;
	while (n--)
	{
		solve();
	}
	return 0;
}
2023/12/6 22:41
加载中...