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

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



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

    include <bits/stdc++.h>

    using namespace std;

    define int long long

    int fac(int n){ bool check = false; for(int i = 2; i * i <= n; i++){ while(n % i == 0){ if((n / i) % 2 == 1){ return n / i; check = true; break; } n /= i; } } if(!check){ return 1; } } signed main() { cin.tie(0)->syncwithstdio(0); int t; cin >> t; while(t--){ int n; cin >> n; cout << fac(n) << '\n'; } return 0; }


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

    phan tich thua so nguyen to nha


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

    sao test 3 không AC được


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

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