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

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

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

Так как слово ФЕТА стоит посередине и буквы в слове ФЕХТОВАЛЬЩИК не повторяются, то количество доступных слов равно 8, из них 2 буквы гласные, остальные 6 согласные. Так как все слова начинаются с гласной, то всего вариантов слов равно:

2× 7 × 6× 5× 4 × 3× 2× 1 = 10080  .

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

a = ’ХОВЛЬЩИК’
#уберем из слова ФЕТА, будем считать, по умолчанию, что это сочетание букв находится в середине слова. Тогда остаётся только проверить, что слово начинается с гласной
count = set()

for x1 in ’ОИ’:
    for x2 in a:
        for x3 in a:
            for x4 in a:
                for x5 in a:
                    for x6 in a:
                        for x7 in a:
                            for x8 in a:
                                s = x1+x2+x3+x4+x5+x6+x7+x8
                                if len(set(s)) == len(s): # проверка, что все буквы различны
                                    count.add(s)
print(len(count))

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

from itertools import permutations

count = set()
#уберем из слова ФЕТА, будем считать, по умолчанию, что это сочетание букв находится  в середине слова. Тогда остаётся только проверить, что слово начинается с гласной
for x in permutations(’ХОВЛЬЩИК’):
    s = ’’.join(x)
    if s[0] in ’ОИ’:
        count.add(x)
print(len(count))

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