Loading Now

minSumOfTwoProducts

Cho hai số ab 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

Contact