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

Сколько 7  -буквенных слов можно составить из букв К, О, М, П, Ь, Ю, Т, Е, Р? Буквы Ю и Т должны быть использованы по два раза. Остальные буквы можно использовать сколько угодно раз.

Для начала воспользуемся формулой сочетаний: Ckn = (nn−!k)!⋅k!  .

При помощи неё найдём количество вариантов расставить 2 буквы Ю на 7 мест: C72 = (7−72!)!⋅2! = 21

А также количество вариантов расставить 2 буквы Т на оставшиеся 5 мест: C5 = --5!-- = 10  2   (5−2)!⋅2!

На оставшиеся 3 места можно расставить любую букву кроме Ю и Т, поэтому итоговая формула выглядит вот так:

21⋅10 ⋅73 = 72030

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

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:
                            w = x1 + x2 + x3 + x4 + x5 + x6 + x7
                            if w.count(’Ю’) == w.count(’Т’) == 2:
                                ans.add(w)
print(len(ans))

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

from itertools import product

ans = set()
alf = ’КОМПЬЮТЕР’

for x in product(alf, repeat=7):
    if x.count(’Ю’) == x.count(’Т’) == 2:
        ans.add(x)

print(len(ans))

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