UOCLE - Tìm ước số lẻ lớn nhất của số N

Xem dạng PDF

Gửi bài giải


Điểm: 1,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M

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

Cho số nguyên dương ~n~. Tìm ước số lẻ lớn nhất của ~n~ nhỏ hơn ~n~.

Input

  • Dòng đầu ghi số nguyên dương ~T~ là số bộ test;
  • ~T~ dòng tiếp theo, mỗi dòng chứa một số nguyên dương ~n~.

Giới hạn:

  • ~1 ≤ T ≤ 10^5, 2 ≤ n ≤ 10^6~.

Output

  • Với mỗi số nguyên dương ~n~, ghi ra trên một dòng ước số lẻ lớn nhất của ~n~ nhỏ hơn ~n~.

Sample

Input #1
3
3
8
15
Output #1
1
1
5

Problem source: Chuyên Sơn La Online Judge


Bình luận

Please read the guidelines before commenting.



  • 0
    truongik  đã bình luận lúc 27, Tháng 12, 2025, 10:57 chỉnh sửa

    dễ nhận thấy ước lớn nhất của n là n/x

    x là ước nhỏ nhất của n

    mà ta cần n/x là số lẻ nên ta sẽ có 2 trường hợp

    TH 1 x=2

    thì thì ước lẻ lớn nhất của n là n/(2^p) bài toán sẽ trở thành tìm p lớn nhất

    TH 2 x!=2

    đáp án là n/f[x];

    với f[x] là số nguyên tố nhỏ nhất của x khi phân tích thừa số nguyên tố


  • 0
    congtyluuthaibao1978  đã bình luận lúc 26, Tháng 11, 2025, 14:16

    include <iostream>

    include <cmath>

    using namespace std; int main() { int t; cin >> t; while(t--) { long long n; cin >> n; long long ans = 1; for(long long i = 1; i*i <= n; i++) { if(n % i == 0) { long long d1 = i; long long d2 = n / i; // chỉ xét ước lẻ nhỏ hơn n if(d1 % 2 == 1 && d1 < n) ans = max(ans, d1); if(d2 % 2 == 1 && d2 < n) ans = max(ans, d2); } } cout << ans << endl; } }


  • 0
    nguyendangkhoinguyen  đã bình luận lúc 16, Tháng 7, 2025, 8:49

    testcase 2 la j vay moi nguoi


    • 0
      admin1906  đã bình luận lúc 6, Tháng 8, 2025, 5:25

      test 2 là không có ước nào vẫn in ra 1 bạn ạ


  • 5
    Minhsang1  đã bình luận lúc 30, Tháng 3, 2025, 15:07

    phan tich thua so nguyen to nha


  • -1
    hains  đã bình luận lúc 4, Tháng 11, 2024, 14:45 sửa 2

    sao test 3 không AC được


  • -4
    qb0603  đã bình luận lúc 8, Tháng 10, 2024, 3:32

    tại sao lại bị timelimit của test 3 vậy ạ