Задача к ЕГЭ по информатике на тему «подсчет количества слов/чисел» №1

Мышиный король составляет 7-буквенные слова из букв М, Ы, Ш, И, причём сочетание МЫШ обязательно должно быть в слове. Все буквы могут встречаться в слове любое количество раз или не встречаться совсем, если соблюдается условие. Сколько слов может составить Мышиный король?

Решение через циклы

counter = 0
for a1 in (’МЫШИ’):
    for a2 in (’МЫШИ’):
        for a3 in (’МЫШИ’):
            for a4 in (’МЫШИ’):
                for a5 in (’МЫШИ’):
                    for a6 in (’МЫШИ’):
                        for a7 in (’МЫШИ’):
                            s = a1 + a2 + a3 + a4 + a5 + a6 + a7
                            if s.count(’МЫШ’) >= 1:
                                counter += 1
print(counter)

Решение через itertools

from itertools import product

count = set()

for x in product(’МЫШИ’,repeat = 7):
    s = ’’.join(x)
    if ’МЫШ’ in s:
        count.add(s)
print(len(count))

Ответ: 1268
Оцените статью
Я решу все!