
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