Hãy xem xét danh sách sau đây:
expected = [
'A',
'B',
'AB',
'C',
'D',
'CD',
'ABCD',
'E',
'F',
'EF',
'G',
'H',
'GH',
'EFGH',
'ABCDEFGH',
'I',
'J',
'IJ',
'K',
'L',
'KL',
'IJKL',
'M',
'N',
'MN',
'O',
'P',
'OP',
'MNOP',
'IJKLMNOP',
'ABCDEFGHIJKLMNOP',
...
]
Đây là một cách để xem xét nó - bạn đang học cách viết các ký tự Trung Quốc và muốn học các khối ngày càng lớn của chúng, luyện tập chúng khi bạn đi. Bạn bắt đầu với A, sau đó đi với B, sau đó đã có một chuỗi là một cặp hai để bạn kết hợp nó. Sau đó, bạn đi với C và D, tạo một cặp khác, thực hành nó. Sau đó bạn tập lại: ABCD. Sau đó, tương tự với E lên đến H, sau đó diễn tập: ABCDEFGH. Danh sách là vô hạn.
Mục tiêu là tạo và in ra một phần tử thứ n của danh sách này, các chỉ mục tăng từ 0. Giả sử rằng sau 'Z', bạn lại nhận được 'A'.
Các tiêu chí chiến thắng là chiều dài mã nguồn.
x,y,z,a,b...
).
BC
hayCDEF
? Điều gì quyết định những gì chúng ta ghép và những gì chúng ta không? Làm thế nào là vô hạn nếu nó bắt đầuA
lại sau đóZ
(ý bạn là vào một lúc nào đó sau khiABCDEFGHIJKLMNOPQRSTUVWXZ
chúng ta cóABCDEFGHIJKLMNOPQRSTUVWXZAB
hoặc một cái gì đó?)