UOCMAX - Tìm ước nguyên tố lớn nhất

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ố tự nhiên ~n (n>1)~. Tìm ước nguyên tố lớn nhất của ~n~.

Input

  • Dòng đầu tiên gồm số tự nhiên ~T~ là số lượng testcase ~(T<10)~.
  • ~T~ dòng tiếp theo mỗi dòng chứa 1 số tự nhiên ~n~ (~n<10^{12}~).

Output

Với mỗi số n in ra kết quả trên 1 dòng.

Sample

Input #1
2
3
5
Output #1
3
5
Input #2
2
9
10
Output #2
3
5

Bình luận

Please read the guidelines before commenting.



  • 0
    taidotai  đã bình luận lúc 13, Tháng 6, 2026, 13:49

    include <bits/stdc++.h>

    using namespace std ;

    bool ngto(long long n ) { if (n < 2 ) return false ; if (n == 2 ) return true ; if (n % 2 == 0 ) return false ;

    for (long long i = 3 ; i * i <= n ; i+=2 ){
        if (n % i == 0 ) {
            return false ;
        }
    }
    return true ;
    

    }

    int main () { int q ; cin >> q ;

    while (q--) {
    
        long long n ;
        cin >> n ;
    
        if (ngto(n)) {
            cout << n ;
        }
    
        else {
            long long max_1 = LLONG_MIN ;
    
            for (long long i = 1 ; i < n ; i++ ){
                if (n % i == 0 ){
                    if (ngto(i)) {
                        if (i > max_1) {
                            max_1 = i ;
                        }
                    }
                }
            }
            cout << max_1 ;
        }
        cout << endl ;
    }
    return 0 ;
    

    } code tham khảo . code dễ hiểu những chạy châm . nếu muốn full ac thi nên dùng cách khác


  • 0
    minh6a3  đã bình luận lúc 27, Tháng 12, 2025, 8:40

    sos


  • 1
    tridz2k12  đã bình luận lúc 6, Tháng 8, 2025, 2:57

    hoa cuong


  • 0
    tridz2k12  đã bình luận lúc 6, Tháng 8, 2025, 2:48

    hoang huy ham