Số đặc biệt

Xem dạng PDF

Gửi bài giải

Điểm: 0,01 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M
Input: SDB.INP
Output: SDB.OUT

Tác giả:
Dạng bài
Ngôn ngữ cho phép
C, C++, Go, Java, Kotlin, Pascal, PyPy, Python, Rust, Scratch

Bờm đang học về số học, cậu rất yêu thích những con số có tính chất đặc biệt. Số đặc biệt là số có đúng ~3~ ước nguyên dương.

Yêu cầu: Cho ~N~ số nguyên dương lần lượt là ~a_1, a_2, \cdots, a_N~ (~1 \leq a_i \leq 10^9~). Với mỗi số ~a_i~, cần xác định số đặc biệt ~b_i~ nhỏ nhất không nhỏ hơn ~a_i~.

Input

Dữ liệu vào: Từ tệp văn bản SDB.INP gồm ~2~ dòng.

  • Dòng thứ nhất chứa một số ~N~ (~1 \leq N \leq 10^6~).

  • Dòng thứ hai gồm ~N~ số nguyên ~a_1, a_2, \cdots, a_N~ (~1 \leq a_i \leq 10^9~).

Output

Kết quả: Đưa ra tệp văn bản SDB.OUT gồm ~N~ số nguyên ~b_1, b_2, \cdots, b_N~ thỏa mãn yêu cầu đề bài.

Sample Input 1

3
6 3 20

Sample Output 1

9 4 25

Sample Input 2

5
1 10 5 100 7

Sample Output 2

4 25 9 121 9

Notes

Ở test ví dụ thứ nhất:

  • ~9~ là số nhỏ nhất không nhỏ hơn ~6~ có 3 ước nguyên dương là ~1, 3, 9~.

  • ~4~ là số nhỏ nhất không nhỏ hơn ~3~ có 3 ước nguyên dương là ~1, 2, 4~.

  • ~25~ là số nhỏ nhất không nhỏ hơn ~20~ có 3 ước nguyên dương là ~1, 5, 25~.


Bình luận

Hãy đọc nội quy trước khi bình luận.



  • 0
    thiendanh0909  đã bình luận lúc 29, Tháng 12, 2025, 13:55

    SOLVE:


    số có 3 uoc là binh phuong một số ngto nên ta chỉ cần viết sang ngto xong push những bình phuong của những ngto đó vào 1 vector rồi với mỗi phần tử a[i] ta dung lower_bound để tìm phần tử đầu tiên có trong vector đó


    code tham khảo : https://ideone.com/gwlCSX


  • -5
    sb_anhtuan  đã bình luận lúc 5, Tháng 12, 2025, 8:49

    Bình luận này đã bị ẩn vì có quá nhiều phản ứng tiêu cực. Nhấn để xem.


  • 1
    dphuc02040608  đã bình luận lúc 23, Tháng 9, 2025, 17:05

    include<bits/stdc++.h>

    define ll long long

    define N 50000

    define buff iosbase::syncwith_stdio(0);cin.tie(0);cout.tie(0)

    using namespace std; ll n; ll c[N+9]; void sang() { fill(c+2, c+N+1, 1); for(ll i=2; ii<=N; i++) if(c[i]==1) { for(ll j=ii; j<=N; j+=i) c[j]=0; } } ll xuly(ll x) { ll k=sqrt(x); while(1) { if(c[k]==1 && kk>=x) return kk; k++; } } int main() { ifstream cin("SDB.INP"); ofstream cout("SDB.OUT"); buff; cin>>n; sang(); while(n--) { ll x; cin>>x; cout<<xuly(x)<<" "; } return 0; }


  • 3
    Groot  đã bình luận lúc 3, Tháng 8, 2025, 19:13

    Lần đầu thấy rõ sức mạnh thực sự của ios_base::sync_with_stdio(false); cin.tie(nullptr);, mình code nếu không thêm vào thì KHÔNG THỂ pass được test nào @@!!


  • -3
    hohoanghai5042011  đã bình luận lúc 14, Tháng 7, 2025, 0:51
    #include<bits/stdc++.h>
    using namespace std;
    const int N=1e6+5;
    int i,j,n,l,r,m;
    long long a[N],ans;
    bool s[N];
    int p[N],t;
    
    void sangnt(){
        for(i=0;i<N;i++) s[i]=1;
        s[0]=s[1]=0;
        for(i=2;i*i<N;i++)
            if(s[i])
                for(j=i*i;j<N;j+=i)
                    s[j]=0;
        for(i=2;i<N;i++)
            if(s[i])
                p[t++]=i;
    }
    
    long long f(long long x){
        l=0,r=t-1;
        while(l<=r){
            m=(l+r)/2;
            if(1LL*p[m]*p[m]>=x){
                ans=1LL*p[m]*p[m];
                r=m-1;
            }
            else l=m+1;
        }
        return ans;
    }
    
    int main(){
        ifstream cin("SDB.INP");
        ofstream cout("SDB.OUT");
        ios::sync_with_stdio(0);
        cin.tie(0); cout.tie(0);
        cin>>n;
        for(i=1;i<=n;i++) cin>>a[i];
        sangnt();
        for(i=1;i<=n;i++) cout<<f(a[i])<<" ";
        return 0;
    }
    

  • -8
    haanhphat2010  đã bình luận lúc 5, Tháng 7, 2025, 5:47 chỉnh sửa

    Bình luận này đã bị ẩn vì có quá nhiều phản ứng tiêu cực. Nhấn để xem.


  • -3
    HUNG2010  đã bình luận lúc 2, Tháng 6, 2025, 12:01

    CODE THAM KHẢO: https://ide.usaco.guide/ORkM31RvKtb7jYzZG20


  • -5
    tien_phat  đã bình luận lúc 8, Tháng 5, 2025, 15:38

    Bình luận này đã bị ẩn vì có quá nhiều phản ứng tiêu cực. Nhấn để xem.


  • -32
    nguyenducanhhc  đã bình luận lúc 13, Tháng 4, 2025, 15:25

    Bình luận này đã bị ẩn vì có quá nhiều phản ứng tiêu cực. Nhấn để xem.


  • -4
    K32NGHIEMDUNG  đã bình luận lúc 11, Tháng 4, 2025, 5:08 chỉnh sửa

    tôi bị ngu


    • -5
      TNLB25102009  đã bình luận lúc 21, Tháng 7, 2025, 15:46

      Bình luận này đã bị ẩn vì có quá nhiều phản ứng tiêu cực. Nhấn để xem.


    • -46
      nguyenducanhhc  đã bình luận lúc 13, Tháng 4, 2025, 15:26

      Bình luận này đã bị ẩn vì có quá nhiều phản ứng tiêu cực. Nhấn để xem.


      • -7
        lamnhb111  đã bình luận lúc 8, Tháng 8, 2025, 12:22

        Bình luận này đã bị ẩn vì có quá nhiều phản ứng tiêu cực. Nhấn để xem.