Все шестибуквенные слова, в составе которых могут быть только русские буквы А, П, Р, Е, Л, Ь записаны в алфавитном порядке и пронумерованы начиная с 1.
Ниже приведено начало списка.
1. АААААА
2. АААААЕ
3. АААААЛ
4. АААААП
5. АААААР
6. АААААЬ
Под каким номером идёт первое слово, в котором буква А не стоит рядом с буквами Е и Л и одна буква повторяется дважды, а остальные различны?
Решение руками
Обозначим буквы – А-0, Е-1, Л-2, П-3, Р-4, Ь-5. Тогда первое слово, в котором буква А не стоит рядом с буквами Е и Л и одна буква повторяется дважды, а остальные различны, это
Но так как в списке нумерация начинается с единицы, то номер слова равен .
Решение Python:
a = ’АЕЛПРЬ’
c = 0
for i in a:
for j in a:
for n in a:
for k in a:
for m in a:
for p in a:
s = i + j + n + k + m + p
c += 1
# так как нужно наименьший номер, то двумя одинаковыми буквами будут буквы А
if (s.count(’А’) == 2 and all(s.count(char) <= 1 for char in ’ЕЛПРЬ’) and
not any(sub in s for sub in [’АЕ’, ’ЛА’, ’ЕА’, ’АЛ’])):
print(c)
Решение Python:
from itertools import product
c = 0
for i in product(’АЕЛПРЬ’, repeat=6):
s = ’’.join(i)
c += 1
if (s.count(’А’) == 2 and all(s.count(char) <= 1 for char in ’ЕЛПРЬ’) and
not any(sub in s for sub in [’АЕ’, ’ЛА’, ’ЕА’, ’АЛ’])):
print(c)