Задача #3670
Комбинаторика
(М. Магомедов) Алексей составляет слова в алфавитном порядке из букв Т, А, Р, К, И, и нумерует их начиная с 1. Все слова имеют одинаковую длину. Начало списка может выглядеть так:
1. А … А
2. А … И
3. А … К
4. А … Р
5. А … Т
Определите длину слов, если известно, что наименьший четный номер слова, начинающегося на согласную букву и содержащего ровно три гласных, стоящих рядом, равен 31314. В ответе напишите найденную длину слов.
Войдите, чтобы история ответов и статистика сохранялись.
Решение
Ответ
7
from itertools import product
m = 0
for n in range(1, 20):
a = [''.join(x) for x in product('тарки', repeat = n)]
a.sort()
i = 0
for x in a:
i += 1
if i % 2 == 0 and x[0] in 'трк':
x = x.replace('а', '*').replace('и', '*')
if x.count('*')==3 and '***' in x :
m = i
break
if m == 31314:
print(n)
break