Considere la siguiente lista:
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',
...
]
Aquí hay una forma de verlo: estás aprendiendo a escribir caracteres chinos y quieres aprender cada vez más pedazos de ellos, ensayándolos a medida que avanzas. Comienzas con A, luego vas con B, luego ya hay una secuencia que es un par de dos, así que la combinas. Luego vas con C y D, haces otro par, practicas. Entonces ensayas: ABCD. Entonces lo mismo ocurre con E hasta H, luego ensaye: ABCDEFGH. La lista es infinita.
El objetivo es generar e imprimir un elemento n-ésimo de esta lista, los índices van desde cero. Suponga que después de 'Z', obtiene 'A' nuevamente.
El criterio ganador es la longitud del código fuente.
x,y,z,a,b...
).
BC
oCDEF
? ¿Qué decide qué concatenamos y qué no? ¿Cómo es infinito si comienza deA
nuevo despuésZ
(quieres decir en algún momento después deABCDEFGHIJKLMNOPQRSTUVWXZ
que tenemosABCDEFGHIJKLMNOPQRSTUVWXZAB
o algo así?)