
minSumOfTwoProducts
Cho hai số a
và b
là hai số tự nhiên. Hãy tìm số tự nhiên n
nhỏ nhất sao cho mọi số tự nhiên lớn hơn hoặc bằng n
đều viết được dưới dạng a*x + b*y
(x, y là các số tự nhiên). Nếu không tồn tại số tự nhiên n
thì trả về -1
.
Ví dụ:
- Với
a = 3, b = 5
thìminSumOfTwoProducts(a, b) = 8
Giải thích: Do 7 không thể viết được dưới dạng 3*x + 5*y
nên n
buộc phải lớn hơn 7. Tuy nhiên với n ≥ 8
thì đều có thể viết được dưới dạng 3*x + 5*y
:
8 = 3*1 + 5*1
9 = 3*3 + 5*0
10 = 3*0 + 5*2
11 = 3*2 + 5*1
12 = 3*4 + 5*0
13 = 3*1 + 5*2…
- Với
a = 3, b = 7
thìminSumOfTwoProducts(a, b) = 12
Đầu vào/Đầu ra:
- [Giới hạn thời gian chạy] 0.1 giây với C++, 0.6 giây với java và C#, 0.8 giây với Python, Go và JavaScript.
- [Đầu vào] int a, b:
0 ≤ a, b ≤ 109
- [Đầu ra] long
Tìm số tự nhiên n
nhỏ nhất sao cho mọi số tự nhiên lớn hơn hoặc bằng n
đều viết được dưới dạng a*x + b*y
.
Post Comment