Loading Now

canChangeNumber

DAN đang chơi một trò chơi, với mỗi cặp số (x, y) thì DAN có thể chuyển thành một trong những cặp số sau đây:

  • (y, x)
  • (x + y, y)
  • (x - y, y) nếu như x >= y.

Hiện tại DAN đang có một cặp số (a,b), hãy giúp DAN xem có cách nào để biến cặp số đó thành (c, d) hay không.

Ví dụ:

Với a = 14, b = 35, c = 28, d = 21 thì canChangeNumber(a,b,c,d) = true

  • Giải thích: Quy trình biến đổi là: (14,35) => (35, 14) =>  (21, 14) =>  (7, 14) =>  (14, 7) =>  (21,7) =>  (7,21) => (28,21).

Với a = 11, b = 65, c = 90, d = 123 thì canChangNumber(a,b,c,d) = false

  • Giải thích: Không có cách nào để chuyển (11, 65) thành (90, 123) cả.

Đầu vào/Đầu ra:

  • [Thời gian chạy] 0.1s với C++, 0.6s với Java và C#, 0.8s với Python, Go và JavaScript.

  • [Đầu vào] Integer a,b,c,d
    1 ≤ a,b,c,d ≤ 108

  • [Đầu ra] Boolean

Post Comment

Contact