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

Ваня составляет пятибуквенные слова из букв К, О, Н, Ф, Е, Т, А. Он выбирает слова, которые содержат не менее двух гласных. Сколько различных слов может составить Ваня?

Решение руками

Посчитаем сколько всего слов мы можем составить без различных условий: 75 = 16807  . Посчитаем сколько слов можно составить без гласных: 45 = 1024  . Теперь посчитаем сколько слов можно составить с ровно одной гласной:     4 3 ∗4 ∗ 5 = 3840  . Чтобы определить количество слов, которые подходят по условию, нужно из общего количества слов вычесть те количества слов, которые не подходят по условию: 16807− 1024− 3840 = 11943

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

a = ’КОНФЕТА’
count = set()
for x1 in a:
    for x2 in a:
        for x3 in a:
            for x4 in a:
                for x5 in a:
                    s = x1+x2+x3+x4+x5
                    if sum(s.count(i) for i in ’ОЕА’) >= 2:
                        count.add(s)
print(len(count))

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

from itertools import product

ans = []
gl =  ’ОЕА’

for i in product(’КОНФЕТА’, repeat = 5):
    s = ’’.join(i)
    count = 0

    for j in gl:
        count += s.count(j)
    if count >= 2:
        ans.append(s)

print(len(ans))

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