Все пятибуквенные слова, в составе которых могут быть только русские буквы М, А, С, Л, О, записаны в алфавитном порядке и пронумерованы начиная с \(1\).
Ниже приведено начало списка:
Под каким номером в списке идёт первое слово, которое содержит не более одной буквы А, ровно две буквы М, не содержит ни одной буквы Л?
Решение:
Решение с помощью itertools
Python
from itertools import product
s = list('МАСЛО')
s.sort()
for i, word in enumerate(product(s, repeat=5), 1):
if word.count('А') < 2 and word.count('М') == 2 \
and word.count('Л') == 0:
print(i)
break
Старое решение
Python
s = 'АЛМОС'
i = 0
nums = []
for a in s:
for b in s:
for c in s:
for d in s:
for e in s:
w = a + b + c + d + e
i += 1
if w.count('А') < 2 and w.count('М') == 2 and w.count('Л') == 0:
nums.append(i)
print(nums[0])
Ответ: \(319\)
Эффективно готовьтесь к ЕГЭ по информатике с новым тренажёром, эмулирующем работу станции КЕГЭ, которая используется на реальном экзамене