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

Игорь составляет 5-буквенные слова, в которых могут быть использованы только буквы С, О, Д, А причём буква Д используется не более одного раза. Каждая из других допустимых букв может встречаться в слове любое количество раз или не встречаться совсем. Слово не должно оканчиваться гласными буквами. Словом считается любая допустимая последовательность букв, не обязательно осмысленная. Сколько существует таких слов, которые может написать Игорь?

Пусть буква Д не встречается в слове вовсе. Тогда, количество возможных вариантов слов: 3*3*3*3*1=81.

Если буква Д стоит на первом месте, то вариантов слов 1*3*3*3*1=27. Число перестановок для буквы Д равно 4(букву Д на последнем месте рассмотрим отдельно). Итак, при постановке буквы Д на последнее место снимается ограничение на гласные буквы, поэтому количество вариантов: 3*3*3*3*1 = 81. Получаем, что число слов, где встречается одна Д равно 27*4 + 81=189.

Таким образом, Игорь может составить 189+81=270 слов.

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

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 w.count(’Д’) <= 1 and w[-1] not in ’ОА’:
                        ans.add(w)
print(len(ans))

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

from itertools import product

ans = set()
alf = ’СОДА’

for w in product(alf, repeat=5):
    w = ’’.join(w)
    if w.count(’Д’) <= 1 and w[-1] not in ’ОА’:
        ans.add(w)
print(len(ans))

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