Giả sử chuỗi con là bất kỳ phần liên tục nào của chuỗi gốc. Ví dụ cat
là một chuỗi con của concatenate
. Chúng ta sẽ nói rằng một chuỗi con thích hợp là một chuỗi con không bằng chuỗi gốc. Ví dụ concatenate
là một chuỗi con của concatenate
nhưng không phải là một chuỗi con thích hợp. (chuỗi ký tự đơn không có chuỗi con phù hợp)
Bây giờ chúng ta sẽ định nghĩa một chuỗi bằng các thuật ngữ này. Các n hạn thứ theo thứ tự này sẽ là số nhỏ nhất như rằng có một chuỗi thích hợp biểu diễn nhị phân của nó mà không phải là một chuỗi con của bất kỳ điều khoản trước đó trong chuỗi. Thuật ngữ đầu tiên là 10
.
Như một bài tập cho phép tạo ra 5 điều khoản đầu tiên. Tôi sẽ làm việc trong hệ nhị phân để làm cho mọi thứ dễ dàng hơn.
Thuật ngữ đầu tiên là 10
. Vì 11
, số nhỏ nhất tiếp theo, chỉ có một chuỗi con thích hợp, 1
cũng là một chuỗi con của 10
, 11
không nằm trong chuỗi. 100
Tuy nhiên có chứa các chuỗi thích hợp 00
mà không phải là một chuỗi của 10
quá 100
là hạn tiếp theo của chúng tôi. Tiếp theo là 101
chứa chuỗi con thích hợp duy nhất 01
thêm nó vào chuỗi, sau đó 110
chứa chuỗi con thích hợp 11
mới thêm chuỗi đó vào chuỗi.
Bây giờ chúng tôi có
10, 100, 101, 110
111
là tiếp theo nhưng nó chỉ chứa các chuỗi con 1
và 11
làm cho nó không phải là một thuật ngữ. 1000
tuy nhiên có chứa 000
thêm nó vào chuỗi.
Dưới đây là các thuật ngữ cặp đôi đầu tiên trong thập phân
2, 4, 5, 6, 8, 9, 10, 11, 14, 16, 17, 18, 19, 20, 21, 22, 23, 24, 26, 30, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 50, 54, 56, 58
Bài tập
Hoặc
Lấy n làm đầu vào và tạo số hạng thứ n trong chuỗi này (0 hoặc 1 được lập chỉ mục)
Các điều khoản đầu ra liên tục của chuỗi
Đây là mã - câu trả lời golf được tính bằng byte với ít byte hơn là tốt hơn.
n
)?
a(36)
là 47 (1 chỉ mục).