Submission
Status:
PPPPPPPPPPPPxPPPxxPP
Subtask/Task Score:
85/100
Score: 85
User: Bestzu
Problemset: จำนวนเฉพาะก่อนหน้า
Language: cpp
Time: 0.065 second
Submitted On: 2025-10-15 11:55:59
#include <bits/stdc++.h>
#define endl '\n'
#define ll long long int
using namespace std;
vector<ll> prime;
void sieve(ll n) {
vector<bool> is_prime(n+1, true);
is_prime[0] = is_prime[1] = false;
for(ll i = 2; i*i <= n; i++) {
if(is_prime[i]) {
for(ll j = i*i; j <= n; j += i)
is_prime[j] = false;
}
}
for(ll i = 2; i <= n; i++)
if(is_prime[i]) prime.push_back(i);
}
int main() {
ios::sync_with_stdio(false); cin.tie(0);
ll n; cin >> n;
sieve(n+10);
auto it = lower_bound(prime.begin(), prime.end(), n);
for(int i = 5; i >= 1; i--) {
cout << *(it - i) << " ";
}
cout << endl;
return 0;
}