Тип 8 № 33510 

Перебор слов и системы счисления.Подсчет количества слов с ограничениями
i
Тимофей составляет 5-буквенные коды из букв Т, И, М, О, Ф, Е, Й. Буква Т должна входить в код не менее одного раза, а буква Й — не более одного раза. Сколько различных кодов может составить Тимофей?
Спрятать решениеРешение. Всего слов, в которых буква Й не встречается вовсе, можно составить 6 · 6 · 6 · 6 · 6 = 7776. Вычтем из этого числа количество слов, в которых не встречается буква Т: 7776 − 5 · 5 · 5 · 5 · 5 = 4651. Таким образом, количество слов, где буква Т встречается хотя бы один раз, а буква Й не встречается вовсе, равно 4651.
Всего слов, в которых буква Й встречается один раз на первом месте, равно 1 · 6 · 6 · 6 · 6. Букву Й можно поставить на первое, второе, третье, четвёртое и пятое места, значит, всего таких слов 5 · 1 · 6 · 6 · 6 · 6 = 6480. Всего слов, в которых буква Й встречается один раз на первом месте, а буква Т не встречается вообще, равно 1 · 5 · 5 · 5 · 5. Букву Й можно поставить на первое, второе, третье, четвёртое и пятое места, значит, всего таких слов 5 · 1 · 5 · 5 · 5 · 5 = 3125. Таким образом, количество слов, в которых буква Т встречается хотя бы один раз, а буква Й — ровно один раз, равно 6480 − 3125 = 3355 слов.
Тогда ответ — 4651 + 3355 = 8006.
Ответ: 8006.
Приведём другое решение на языке Python.
from itertools import product
s = 'ТИМОФЕЙ'
words = []
for w in product(s, repeat=5):
if ('Т' in w) and w.count('Й') <= 1:
words.append(w)
print(len(words))
Приведём другое решение на языке Python.
import itertools
alphabet = "ТИМОФЕЙ"
ar = itertools.product(alphabet, repeat=5) #Размещение с повторением
arl = []
for i in ar:
arl.append(list(i))
count = 0
for e in arl:
if e.count("Т") >= 1 and e.count("Й") <= 1:
count += 1
print(count)
Ответ: 8006