Tổng nhỏ nhất

Xem dạng PDF

Gửi bài giải

Điểm: 10,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M
Input: stdin
Output: stdout

Nguồn bài:
VNG
Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Kotlin, Pascal, PyPy, Python, Scratch

Với hai số nguyên dương ~A~, ~B~ cho trước. Ta dễ dàng tìm được ước chung lớn nhất G và bội chung nhỏ nhất L của hai số ~A~ và ~B~. Bây giờ chúng ta hãy xét bài toán ngược của bài toán trên:

Cho biết trước ước chung lớn nhất ~G~ và bội chung nhỏ nhất ~L~ của hai số nguyên dương ~A~ và ~B~. Rõ ràng, sẽ có rất nhiều cặp (~A~, ~B~) nguyên dương có ước chung lớn nhất là ~G~ và bộ chung nhỏ nhất là ~L~, tuy nhiên cũng có trường hợp chúng ta không thể tìm được giá trị ~A~, ~B~ thỏa mãn. Vì vậy, hãy xác định giá trị nhỏ nhất của tổng ~A~ + ~B~, hoặc đưa ra -1 nếu không tìm được cặp (~A~, ~B~).

Dữ liệu vào:

  • Dòng 1: Ghi hai số nguyên dương ~G~ và ~L~ (~1 ≤ G ≤ L ≤ 10^9~)

Kết quả ra:

  • Dòng 1: Số nguyên dương là tổng nhỏ nhất có thể. Trong trường hợp không tìm được hai số ~A~ và ~B~ thì đưa ra kết quả là -1.

Ví dụ:

Giải thích ví dụ:

  • Ở ví dụ thứ nhất: Chỉ có cặp (2, 10) thỏa mãn UCLN(2,10) = 2, BCNN(2,10) = 10. Nên tổng là 12
  • Ở ví dụ thứ hai: Có hai cặp (2, 20) và (4, 10) thỏa mãn, tổng nhỏ nhất có thể là 14.
  • Ở ví dụ thứ ba: không tìm được cặp nào thỏa mãn UCLN là 3 và BCNN là 5

Bình luận

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


Không có bình luận tại thời điểm này.