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

Школьник составляет 9-буквенные слова, в которых есть только буквы П, О, Б, Е, Д, А. При этом известно, что буква П встречается не более 6 раз. Словом считается любая допустимая последовательность букв, не обязательно осмысленная. Сколько существует таких слов, которые школьник может написать?

Всего вариантов без учета ограничений будет 69 = 10077696  . Из данного общего количества надо вычесть случаи, когда буква П встречается 7,8 и 9 раз. Рассмотрим данные случаи отдельно

Когда буква П встречается 7 раз – 52 ⋅((9⋅8)∕2) = 25 ⋅36 = 900  случаев.

Когда буква П встречается 8 раз – 5 ⋅9 = 45  случаев.

И когда П встречается 9 раз всего 1 случай.

Вычитаем наши случаи из общего количества – 10077696 − 900− 45− 1 = 10076750  .

Решение программой (циклы):

ans = set()
alf = ’ПОБЕДА’

for x1 in alf:
    for x2 in alf:
        for x3 in alf:
            for x4 in alf:
                for x5 in alf:
                    for x6 in alf:
                        for x7 in alf:
                            for x8 in alf:
                                for x9 in alf:
                                    w = x1 + x2 + x3 + x4 + x5 + x6 + x7 + x8 + x9
                                    if w.count(’П’) <= 6:
                                        ans.add(w)
print(len(ans))

Решение программой (itertools):

from itertools import product

ans = set()
alf = ’ПОБЕДА’

for w in product(alf, repeat=9):
    w = ’’.join(w)
    if w.count(’П’) <= 6:
        ans.add(w)
print(len(ans))

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