AcWing 4618. 两个素数
原题链接
简单
作者:
Coinisi.
,
2023-01-15 12:20:08
,
所有人可见
,
阅读 146
#include <iostream>
#include <algorithm>
#include <vector>
#include <queue>
#include <set>
#include <stack>
#include <map>
#include <cmath>
#include <cstring>
#include <unordered_map>
#include <unordered_set>
// #pragma GCC optimize(2)
// #pragma GCC optimize(3)
#define IOS std::ios::sync_with_stdio(false)
#define inf 0x3f3f3f3f
#define YES cout << "YES" << endl
#define NO cout << "NO" << endl
#define int long long
#define x first
#define y second
#define cmp [&](PII a, PII b){return a.y < b.y;}
const int N = 5e5+10, mod = 1e9+7, M = 5e7+5, K = 2e5+10, Z = 1e5+7, X = 3e5+3;
using namespace std;
typedef long long LL;
typedef priority_queue<int> PQI;
typedef priority_queue <int, vector<int>, greater<>> PQGI;
typedef pair<int, int> PII;
int primes[1000], cnt;
bool st[1000];
void get_primes(int n)
{
for (int i = 2; i <= n; i ++ )
{
if (st[i]) continue;
primes[cnt ++ ] = i;
for (int j = i + i; j <= n; j += i)
st[j] = true;
}
}
void solve()
{
int x; cin >> x;
get_primes(x);
for(int i = 0; i < cnt; i ++)
for(int j = i; j < cnt; j ++)
if(primes[i] * primes[j] == x)
{
cout << primes[i] << ' ' << primes[j] << endl;
return;
}
}
signed main()
{
IOS; int T = 1;
cin.tie(nullptr);
cout.tie(nullptr);
// cin >> T;
while( T -- ) solve();
return 0;
}
励志关注104人,如果可以的话,能求个互粉吗谢谢~