Текстовый файл состоит из символов K, L, M и N. В прилагаемом файле определите максимальное количество символов в непрерывной подпоследовательности, состоящей из идущих подряд групп символов KLMN в указанном порядке, при этом в начале и в конце искомой последовательности группа символов KLMN может быть неполной.
Искомая последовательность должна содержать не менее одной полной группы символов KLMN. Например, условию задачи удовлетворяют: MNKLMNKLMNK, или NKLMNKLMNKL, или KLMNKLMNKLM и т.п.
Для выполнения этого задания следует написать программу.
Решение:
Решение на Python:
a = open('E:/10/24_16388.txt').readline()
f = 'KLMN'
otv = []
for i in range(1, 100):
if 'LMN' + f * i + 'KLM' in a:
otv.append(6 + 4*i)
elif 'MN' + f * i + 'KLM' in a:
otv.append(5 + 4*i)
elif 'N' + f * i + 'KLM' in a:
otv.append(4 + 4*i)
elif 'LMN' + f * i + 'KL' in a:
otv.append(5 + 4*i)
elif 'MN' + f * i + 'KL' in a:
otv.append(4 + 4*i)
elif 'N' + f * i + 'KL' in a:
otv.append(3 + 4*i)
elif 'LMN' + f * i + 'K' in a:
otv.append(4 + 4*i)
elif 'MN' + f * i + 'K' in a:
otv.append(3 + 4*i)
elif 'N' + f * i + 'K' in a:
otv.append(2 + 4*i)
elif 'LMN' + f * i in a:
otv.append(3 + 4*i)
elif 'MN' + f * i in a:
otv.append(2 + 4*i)
elif 'N' + f * i in a:
otv.append(1 + 4*i)
elif f * i + 'KLM' in a:
otv.append(3 + 4*i)
elif f * i + 'KL' in a:
otv.append(2 + 4*i)
elif f * i + 'K' in a:
otv.append(1 + 4*i)
print(max(otv))
Ответ: 182
Ответ:
182