Cho trước hai số nguyên dương \(A\) và \(B\).
Yêu cầu: Hãy lập trình đưa ra ước chung lớn thứ hai của \(A\) và \(B\) (tức là ước chung lớn nhất trong các ước chung nhỏ hơn \(\gcd(A, B)\)). Nếu \(A\) và \(B\) chỉ có một ước chung (tức \(\gcd(A, B) = 1\)) thì in ra \(-1\).
Input
Một dòng duy nhất chứa hai số nguyên dương \(A\) và \(B\) (\(1 \le A, B \le 10^{12}\)).
Output
Một số nguyên duy nhất là kết quả của bài toán.
Scoring
- Có \(80\%\) số test có \(A \le 1000\), \(B \le 1000\).
- \(20\%\) số test còn lại không có ràng buộc gì thêm.
Sample Input 1
30 40
Sample Output 1
5
Notes
Các ước chung của \(30\) và \(40\) là \(1, 2, 5, 10\); ước chung lớn thứ hai là \(5\).
Bình luận
Đăng nhập để bình luận
Chưa có bình luận nào.