Если, как другие подозревают, это домашняя работа, то этот ответ, вероятно, не сильно поможет. Однако, если это для реального проекта, возможно, имеет смысл вместо этого создать генератор, что легко и идиоматично сделать в некоторых языках, таких как Python. Примерно так:
def letterPattern():
pattern = [0]
while True:
yield pattern
pattern[0] += 1
# iterate through all numbers in the list *except* the last one
for i in range(0,len(pattern)-1):
if pattern[i] == 26:
pattern[i] = 0
pattern[i+1] += 1
# now if the last number is 26, set it to zero, and append another zero to the end
if pattern[-1] == 26:
pattern[-1] = 0
pattern.append(0)
За исключением того, что вместо самого pattern
вы изменили бы его и отобразили 0 на A, 1 на B и т. Д., Затем получили бы строку. Я запустил приведенный выше код, и он, кажется, работает, но я его вообще не тестировал.
Надеюсь, вы найдете это достаточно читабельным для реализации, даже если вы не знаете Python. (Для Pythonistas, да, цикл «for i in range (...)» уродлив и непитоничен, но, черт побери, я не знаю другого способа сделать то, что я делаю здесь )