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

Олеся составляет пятибуквенные слова из букв слова АЛГОРИТМ, причем известно, что буквы в словах могут повторяться любое количество раз или же не встречаться вовсе. Помогите Олесе найти количество различных слов, являющимися палиндромами и содержащими в середине согласную букву.

Вычислить количество таких слов можно следующим путём: 8*8*5*1*1=320, где на первых двух позициях могут стоять любые буквы, в середине возможно 5 вариаций букв(согласные), а на последних двух позициях стоят те же буквы, что и в начале, поэтому иных вариантов мы не рассматриваем.

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

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 == w[::-1]:
                        if w[2] 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 == w[::-1]:
        if w[2] in ’ЛГРТМ’:
            ans.add(w)
print(len(ans))

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