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

Игорь составляет 5-буквенные слова, он может использовать все буквы из слова «ВИШНЯ». При этом каждая буква может встречаться любое количество раз либо не встречаться вовсе. После буквы Ш может идти только гласная буква, а на последнем месте обязательно стоит согласная. Словом считается любая допустимая последовательность букв, не обязательно осмысленная. Сколько слов может составить Игорь?

Решение прогой 1

s = ’ВИШНЯ’
n = 0
for z in s:
    for x in s:
        for c in s:
            for v in s:
                for b in s:
                    slovo = z + x + c + v + b
                    # после Ш по условию идёт лишь гласная
                    # значит комбинации вида Ш+СОГЛ должны отсутствовать
                    if (’ШВ’ not in slovo) and (’ШН’ not in slovo) and (’ШШ’ not in slovo) and (
                            slovo[-1] == ’В’ or slovo[-1] == ’Ш’ or slovo[-1] == ’Н’):
                        n += 1
print(n)

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

from itertools import product

s = ’ВИШНЯ’
n = 0
for x in product(s, repeat=5):
    if (’ШВ’ not in ’’.join(x)) and (’ШН’ not in ’’.join(x)) and (’ШШ’ not in ’’.join(x)) and (x[-1] in ’ВШН’):
        n += 1
print(n)

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