Giới thiệu
Trong thử thách này, chúng tôi sẽ xử lý một trật tự nhất định của các số nguyên dương. Việc đặt hàng diễn ra như sau:
3, 5, 7, 9, 11, ...
2*3, 2*5, 2*7, 2*9, 2*11, ...
4*3, 4*5, 4*7, 4*9, 4*11, ...
8*3, 8*5, 8*7, 8*9, 8*11, ...
16*3, 16*5, 16*7, 16*9, 16*11, ...
...
... 64, 32, 16, 8, 4, 2, 1
Trước tiên chúng tôi liệt kê tất cả các số nguyên lẻ lớn hơn 1 theo thứ tự tăng dần. Sau đó, chúng tôi liệt kê hai lần số nguyên lẻ lớn hơn 1, sau đó 4 lần, sau đó 8 lần, v.v.: với tất cả k , chúng tôi liệt kê 2 k lần số nguyên lẻ lớn hơn 1 theo thứ tự tăng dần. Cuối cùng, chúng tôi liệt kê các quyền hạn của hai theo thứ tự giảm dần , kết thúc ở 1. Mỗi số nguyên dương xảy ra trong "danh sách" này chính xác một lần.
Rõ ràng hơn, hãy xem xét hai số nguyên dương khác biệt A = n · 2 p và B = m · 2 q , trong đó n, m ≥ 1 là số lẻ và p, q ≥ 0 . Sau đó A đến trước B theo thứ tự, nếu một trong các điều kiện sau giữ:
- n> 1 , m> 1 và p <q
- 1 <n <m và p = q
- n> m = 1
- n = m = 1 và p> q
Thứ tự này xuất hiện trong kết quả toán học đáng ngạc nhiên được gọi là định lý Sharkovskii , liên quan đến các điểm định kỳ của các hệ động lực. Tôi sẽ không đi vào chi tiết ở đây.
Nhiệm vụ
Nhiệm vụ của bạn trong thử thách này là tính toán thứ tự trên. Đầu vào của bạn là hai số nguyên dương A và B , có thể bằng nhau. Đầu ra của bạn là một giá trị trung thực nếu A đến trước B theo thứ tự và nếu không thì giá trị giả. Nếu A = B , đầu ra của bạn phải trung thực. Bạn có thể lấy A và B theo thứ tự, miễn là bạn nhất quán.
Bạn không phải lo lắng về tràn số nguyên, nhưng về mặt lý thuyết, thuật toán của bạn sẽ hoạt động cho các đầu vào lớn tùy ý.
Các trường hợp thử nghiệm
Trường hợp thật
3 11
9 6
48 112
49 112
158 158
36 24
14 28
144 32
32 32
32 8
3 1
1 1
Trường hợp giả
1 2
1 5
11 5
20 25
2 8
256 255
256 257
72 52
2176 1216
2176 2496
a&1|~b&1&f(a/2,b/2)
làm việc?