Все пятибуквенные слова, составленные из букв А, К, Ц, Е, Н, Т, записаны в алфавитном порядке и пронумерованы.
Вот начало списка:
1. ААААА
2. ААААЕ
3. ААААК
4. ААААН
5. ААААТ
6. ААААЦ
……
Определите, под каким номером в этом списке стоит первое слово с чётным номером, которое не начинается с букв А, Е или К и при этом содержит в своей записи не менее одной буквы Т.
Примечание. Слово — последовательность идущих подряд букв, не обязательно осмысленная.
Ответ:
Демонстрационный вариант ЕГЭ 2027 по информатике – задание №8
Решение:
Решение —
Переберём все пятибуквенные слова из букв А, Е, К, Н, Т, Ц в алфавитном порядке.
|
1 2 3 4 5 6 7 8 9 10 11 12 |
from itertools import * n = 0 for i in product('АЕКНТЦ', repeat=5): a = ''.join(i) n += 1 if n % 2 == 0 and a[0] not in 'АЕК' and a.count('Т') >= 1: print(n) break |
Функция product('АЕКНТЦ', repeat=5) создаёт все возможные пятибуквенные слова в нужном алфавитном порядке.
Переменная n хранит номер текущего слова в списке.
Для каждого слова проверяем условия задачи:
- номер слова должен быть чётным:
n % 2 == 0; - слово не должно начинаться с букв А, Е или К:
a[0] not in 'АЕК'; - слово должно содержать хотя бы одну букву Т:
a.count('Т') >= 1.
Как только находится первое слово, удовлетворяющее всем условиям, программа выводит его номер и прекращает перебор.
Программа выводит:
|
1 |
3914 |
Первое подходящее слово имеет вид НААТЕ.
Ответ: 3914