Betrachten Sie die folgende Liste:
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',
...
]
Hier ist eine Möglichkeit, es zu betrachten: Sie lernen, wie man chinesische Schriftzeichen schreibt, und Sie möchten immer größere Teile davon lernen und sie währenddessen üben. Sie beginnen mit A, gehen dann mit B, dann gibt es bereits eine Sequenz, die ein Paar von zwei ist, so dass Sie es kombinieren. Dann gehst du mit C und D, machst ein weiteres Paar und übst es. Dann proben Sie: ABCD. Dann geht das selbe mit E bis H, dann probt: ABCDEFGH. Die Liste ist unendlich.
Ziel ist es, ein n-tes Element dieser Liste zu generieren und auszudrucken, wobei die Indizes von Null aufwärts gehen. Angenommen, Sie erhalten nach 'Z' erneut 'A'.
Das Gewinnkriterium ist die Länge des Quellcodes.
x,y,z,a,b...
).
BC
oderCDEF
? Was entscheidet, was wir verketten und was nicht? Wie ist es unendlich , wenn es beginntA
wieder nachZ
(man an einem gewissen Punkt bedeutet , nachdemABCDEFGHIJKLMNOPQRSTUVWXZ
wir haben ,ABCDEFGHIJKLMNOPQRSTUVWXZAB
oder was?)