(tongnn.*)
Trong tiết học môn Toán về chủ đề tìm ước chung lớn nhất (UCLN), bội chung nhỏ nhất (BCNN) của hai số nguyên dương \(a,b\), Bình dễ dàng tìm được \(UCLN(a,\ b)\) là \(m\), \(BCNN(a,\ b)\) là \(n\). Hôm nay, cô giáo đưa ra bài toán sau:
“Cho trước hai số nguyên dương \(m\) và \(n\). Nếu tìm được một hoặc nhiều cặp số \((a,\ b)\) thỏa mãn \(UCLN(a,\ b)\) \(= \ m\), \(BCNN(a,\ b)\ = \ n\) thì đưa ra giá trị nhỏ nhất của tổng \(A + B\), ngược lại đưa ra \(- 1\)”.
Bình đang loay hoay tìm cách giải. Bạn hãy giúp Bình giải bài toán trên.
Yêu cầu: Tìm giá trị nhỏ nhất của tổng \(A\ + \ B\), nếu không tìm được cặp số \((A,\ B)\) nào thì đưa ra \(- 1\).
Dữ liệu vào:
+ Hai số nguyên dương \(m,\ n\ (1\ \leq \ m\ \leq \ n\ \leq \ 10^{12})\). Các số cách nhau bởi một dấu cách trống.
Kết quả: Ghi một số nguyên là kết quả tìm được. Ví dụ:
|
|
Giải thích |
---|---|---|
2 10 | 12 | Có cặp (2, 10) thỏa mãn UCLN(2, 10) = 2, BCNN(2, 10) = 10, tổng nhỏ nhất A + B = 12. |
2 20 | 14 | Có hai cặp (2, 20) và (4, 10) thỏa mãn, tổng nhỏ nhất A + B = 14. |
3 5 | -1 | Không tìm được cặp số (A, B) nào thỏa mãn. |
Giới hạn:
60% số test với \(1\ \leq \ m\ \leq \ n\ \leq \ 10^{6}\)
20% số test với \(10^{6}\ < \ m\ \leq \ n\ \leq \ 10^{9}\ \)
20% số test với \(10^{9}\ < \ m\ \leq \ n\ \leq \ 10^{12}\)
Code tích cực |
---|
Trong 24h |
Trong 7 ngày |
|
Trong 30 ngày |
|
Thống kê |
---|
AC/Sub: 97887/180710 Pascal: 17121 C++: 130348 Python: 33199 Lượt xem/tải tests: 38905 |