Đề Tuyển sinh lớp 10 Chuyên Tin Phan Bội Châu 2023 - Tổng nhỏ nhất
Point: 100.0
Time limit: 1.0s
Memory limit: 1 G
Input: tongnn.inp
Output: tongnn.out
Problem type
Ngôn ngữ cho phép
C, C#, C++, Pascal, Python

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\)\(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ì dura ra -1.

Dữ liệu vào:

Từ tệp văn bản TONGNN.INP gồm một dòng chứa hai số nguyên dương \(m,n (1 \le m \le n\le 10^{12})\). Các số cách nhau bởi một dấu cách trống.

Kết quả:

Ghi ra tệp văn bản TONGNN.OUT một số nguyên là kết quả tìm được.

Ví dụ:

TONGNN.INP TONGNN.OUT 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 \le m \le n \le 10^6\).

  • \(20\%\) số test với \(10^6 < m \le n \le 10^9\).

  • \(20\%\) số test với \(10^9 < m \le n \le 10^{12}\).