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

Ростислав составляет слова из букв своего имени РОСТИСЛАВ. Слово должно состоять из 6 букв, каждая буква может встречаться любое число раз и не встречаться вообще. Кроме того, в слове количество согласных букв должно быть больше, чем количество гласных. Сколько различных слов может составить Ростислав?

В нашем наборе 3 гласных и 5 согласных.

Проще будет считать слова именно по количеству гласных букв, так как можно будет рассмотреть меньше случаев.

1) Слова без гласных

Тут всё просто, считаем следующим образом — 5*5*5*5*5*5 = 15625

2) Слова с одной гласной

3*5*5*5*5*5 = 9375, умножаем на 6, тем самым рассматривая гласную на 6 позициях. Получаем 56250.

3) Слова с двумя гласными

Посчитаем перестановки гласных без повторов — 6*5/2! = 15

15 умножаем на 3*3*5*5*5*5, получаем 84375.

Итого, 15625+56250+84375 = 156250.

Решение программой 1:

# Вторую С из набора убираем,
# так как спрашивают про различные слова,
# с двумя С могут быть повторения
s = ’РОСТИЛАВ’

k = 0
for a in s:
    for b in s:
        for c in s:
            for d in s:
                for e in s:
                    for f in s:
                        w = a+b+c+d+e+f
                        if (w.count(’О’)+w.count(’И’)+w.count(’А’)) < 3:
                            k += 1

print(k)

Решение программой 2:

from itertools import product

s = ’РОСТИСЛАВ’
n = 0
p = set()
for x in product(s, repeat = 6):
    if (’’.join(x).count(’О’) + ’’.join(x).count(’И’)+’’.join(x).count(’А’)) < 3:
        p.add(x)
        n += 1

print(len(p))

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