Số đặc biệt

Xem dạng PDF

Gửi bài giải

Điểm: 0,06 (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.



  • 1
    nhatminhtqs  đã bình luận lúc 15, Tháng 6, 2026, 5:22

    các bạn cho mình hỏi là tại sao code của mình lại không AC với ạ mình check mãi không ra

    include <bits/stdc++.h>

    define notthing ios::syncwithstdio(false), cin.tie(0), cout.tie(0);

    define ll long long

    define theend return 0;

    using namespace std;

    vector<bool> snt(4e4 + 1, true); vector<ll> a; void sang() { snt[0] = snt[1] = false; for(ll i = 2; i <= 4e4; i++) { if(snt[i]) { a.push_back(i); for(ll j = i * i; j <= 4e4; j += i) snt[j] = false; } } } /// sàng số nguyên tố + tạo mảng tìm kiếm

    int main() { notthing sang(); ll n; cin >> n; while(n--) { ll x; cin >> x; ll s = sqrt(x); if(s * s < x) s++; ll m = *lower_bound(a.begin(), a.end(), s); /// tìm kiếm số phù hợp cout << m * m << " "; /// in ra kết quả } theend }

    đây là code của mình nhé WA 100% mình cũng không hiểu tại sao


    • 3
      TranThienPhuc2657  đã bình luận lúc 15, Tháng 6, 2026, 6:00

      Lỗi của bạn là bạn chưa nhập xuất file cho bài này trong khi bài có yêu cầu. Bạn có thể thấy là ở phần "Input" và "Output" ở trên đề và ở bên phải màn hình, ngay dưới chỗ "Time limit" và "Memory limit" có ghi rõ.

      Để nhập xuất file bạn thêm đoạn code sau

      freopen("SBD.inp", "r", stdin);
      freopen("SBD.out", "w", stdout);
      

      • 2
        nhatminhtqs  đã bình luận lúc 19, Tháng 6, 2026, 2:28

        yeahhh cảm ơn bạn rất nhiều nhé tôi đã AC rồi!!!


        • 0
          TranThienPhuc2657  đã bình luận lúc 19, Tháng 6, 2026, 22:22

          Đây là một lỗi cơ bản mà nhiều người mắc phải do vô tình quên nhưng thường để lại hậu quả lớn. Nên khi làm bài, nếu mà thấy file thì nhớ viết lệnh vô luôn nhé.

          Để mà có thể sử dụng terminal trên IDE code mà khi nộp lên vẫn có thể mở file thì bạn dùng lệnh sau

          if (fopen("SDB.inp", "r")) {
             freopen("SDB.inp", "r", stdin);
             freopen("SDB.out", "w", stdout);
          }
          

      • 0
        Thien2009  đã bình luận lúc 18, Tháng 6, 2026, 9:15

        bài này đáng nhẽ xử lý offline


  • 1
    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


  • -6
    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; }


  • 4
    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;
    }
    

    • 0
      HoangHK15CKG  đã bình luận lúc 13, Tháng 2, 2026, 10:34 sửa 3

      thỉnh thoảng có 1 test quá thời gian bạn ơi


  • -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


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

    https://www.ideone.com/yEe9KA


  • -34
    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.


  • -5
    K32NGHIEMDUNG  đã bình luận lúc 11, Tháng 4, 2025, 5:08 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.


    • -6
      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.


    • -49
      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.