Tôi đã chơi xung quanh với một số con số và tìm thấy một chuỗi, tất nhiên, là trên OEIS. Đó là A005823 : Các số có phần mở rộng về phía trước không chứa 1 . Nó đi:
a (2n) = 3 * a (n) +2
a (2n + 1) = 3 * a (n + 1)
a (1) = 0
a = 0,2,6,8,18,20,24,26,54 ....
Tôi đã viết một chương trình CJam tạo ra n đầu tiên của những con số này bằng cách chuyển đổi chỉ mục thành nhị phân, thay thế 1 bằng 2 và chuyển đổi từ ternary sang thập phân.
Tôi cũng nhận thấy rằng bất kỳ số chẵn nào cũng có thể thu được bằng cách lấy tổng của hai số trong chuỗi (đôi khi là số với chính nó).
Các thách thức:
Cho bất kỳ số chẵn không âm nào làm đầu vào, hãy xuất các chỉ số của hai số trong chuỗi cộng với nó. (Lưu ý rằng đôi khi nhiều cặp có thể.)
Những quy định:
- Chỉ định nếu bạn đang sử dụng lập chỉ mục 0 hoặc 1.
- Nếu bạn xuất ra dưới dạng một chuỗi, hãy đặt một dấu phân cách giữa hai chỉ mục.
- Bạn được phép xuất ra dưới dạng số phức.
- Nếu bạn rất mong muốn, bạn có thể xuất ra mọi cặp hợp lệ.
- Code Golf: câu trả lời ngắn nhất sẽ thắng
Các trường hợp thử nghiệm
Tôi sử dụng chỉ mục 0. Ở đây tôi liệt kê mọi đầu ra có thể cho mỗi đầu vào, nhưng bạn chỉ cần xuất một đầu ra.
0: [0 0] 2: [1 0] 4: [1 1] 6: [2 0] 8: [2 1] [3 0] 10: [3 1] 12: [2 2] 14: [3 2] 16: [3 3] 18: [4 0] 30: [6 2] 32: [6 3] [7 2] 46: [7 5] 50: [7 6] 120: [10 10] 338: [19 18] 428: [30 23] [31 22] 712: [33 27] [35 25] [41 19] [43 17] [49 11] [51 9] [57 3] [59 1] 1016: [38 37] [39 36]Cảm ơn @Luis Mendo đã giúp đỡ trường hợp thử nghiệm.
Liên quan: Có phải trong bộ Cantor?