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

Оксана составляет 5-буквенные слова из букв М, Н, О, Г, Т, Ч, К, И. Каждая из букв может встречаться в слове не более одного раза. Сколько различных слов может составить Оксана?

На первое место Оксана ставит одну из 8  букв, на второе — одну из 7  оставшихся, т.к. одна буква уже использована. По той же логике, на третье — одну из 6  оставшихся, на четвёртое — одну из 5  оставшихся и на пятое одну из 4  оставшихся букв. Всего Оксана может составить 8 ⋅ 7 ⋅ 6 ⋅ 5 ⋅ 4 = 6720  различных слов.
Решение программой (циклы):

ans = set()
alf = ’МНОГТЧКИ’

for x1 in alf:
    for x2 in alf:
        for x3 in alf:
            for x4 in alf:
                for x5 in alf:
                    w = x1 + x2 + x3 + x4 + x5
                    if len(w) == len(set(w)):
                        ans.add(w)
print(len(ans))

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

from itertools import permutations

ans = set()
alf = ’МНОГТЧКИ’

for x in permutations(alf, 5):
    ans.add(x)

print(len(ans))

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