Submission

Status:

P---------P-x---xx--

Subtask/Task Score:

10/100

Score: 10

User: Nitro_Legacy

Problemset: จำนวนเฉพาะก่อนหน้า

Language: cpp

Time: 0.048 second

Submitted On: 2026-09-27 17:46:25

#include <bits/stdc++.h>
using namespace std;
using ll = long long;
vector<ll> sieve(ll n){
    vector<bool> prime(n + 1, true);
    for (ll p = 2; p * p <= n; p++){
        if (prime[p] == true){
            for (ll i = p * p; i <= n; i += p){
                prime[i] = false;
            }
        }
    }
    vector<ll> v;
    for (ll i = 2; i <= n; i++){
        if (prime[i]){
            v.push_back(i);
        }
    }
    return v;
}
int main(){
    ll n;
    cin >> n;
    vector<ll> v = sieve(n);
    reverse(v.begin(), v.end());
    if (v[0] == n){
        for (int i = 5; i >= 1; i--){
            cout << v[i] << " ";
        }
    } else {
        for (int i = 5; i >= 0; i--){
            cout << v[i] << " ";
        }
    }
    return 0;
}
//idk what im doing