Aşağıdaki listeyi düşünün:
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',
...
]
İşte bakmanın bir yolu - Çince karakterleri nasıl yazacağınızı öğreniyorsunuz ve gittikçe artan büyük parçalarını öğrenmek, gittikçe prova yapmak istiyorsunuz. A ile başlarsınız, sonra B ile devam edersiniz, o zaman zaten iki çift olan bir dizi vardır, böylece birleştirirsiniz. Sonra C ve D ile devam et, başka bir çift yap, pratik yap. Sonra prova yapıyorsun: ABCD. Aynı şey E ile H'ye kadar gider, sonra prova yapın: ABCDEFGH. Liste sonsuzdur.
Amaç, bu listenin n'inci bir elemanını oluşturmak ve yazdırmaktır. 'Z' den sonra tekrar 'A' aldığını varsayın.
Kazanan kriterler kaynak kod uzunluğudur.
x,y,z,a,b...
).
BC
yaCDEF
? Neyi birleştirdiğimize ve neyi bitirmediğimize ne karar verir? Nasıl bu kampanyanın en başlarsa sonsuz olduğunuA
sonra tekrarZ
(sonra bir noktada anlamınaABCDEFGHIJKLMNOPQRSTUVWXZ
elimizdekiABCDEFGHIJKLMNOPQRSTUVWXZAB
şey ya?)