Найти в Дзене

Разбор номера 17799 #kege по информатике #ЕГЭ8

Автор: В. Зарянкин
Уровень: Средний Все четырёхбуквенные слова, в составе которых могут быть только русские буквы А, Р, Г, У, М, Е, Н, Т, записаны в алфавитном порядке и пронумерованы начиная с 1. Вот начало списка:
1. АААА
2. АААГ
3. АААЕ
4. АААМ
5. АААН
... Под каким номером в списке идёт последнее слово, в котором все буквы различны и все символы располагаются в алфавитном порядке? Больше разборов на эту и другие задачи вы можете найти в нашем Телеграм канале: Информатика ЕГЭ | itpy 👨‍💻 Подписывайтесь на наш канал по теории Python: Азим вкатывается в IT | itpy 💻  Вы найдете тут много полезного!
Оглавление

Автор: В. Зарянкин
Уровень:
Средний

Условие задачи:

Все четырёхбуквенные слова, в составе которых могут быть только русские буквы А, Р, Г, У, М, Е, Н, Т, записаны в алфавитном порядке и пронумерованы начиная с 1.

Вот начало списка:
1. АААА
2. АААГ
3. АААЕ
4. АААМ
5. АААН
...

Под каким номером в списке идёт последнее слово, в котором все буквы различны и все символы располагаются в алфавитном порядке?

Код решения:

Ответ: 2424
Ответ: 2424

Комментарии к коду:

  1. from itertools import *
    Импорт всех функций из модуля itertools (в данном случае используется product)
  2. s = sorted('АРГУМЕНТ')
    Создание отсортированного списка букв из слова "АРГУМЕНТ": ['А', 'Г', 'Е', 'М', 'Н', 'Р', 'Т', 'У']
  3. for n, p in enumerate(product(s, repeat=4), 1):
    - Цикл по всем возможным комбинациям букв длиной 4 (с повторами)
    - product(s, repeat=4) генерирует декартово произведение списка s на себя 4 раза
    - enumerate добавляет нумерацию, начиная с 1
  4. word = ''.join(p)
    Объединение кортежа p в строку (слово из 4 букв)
  5. if len(word) == len(set(word)):
    Проверка, что все буквы в слове уникальны (длина слова равна длине множества его букв)
  6. if list(word) == sorted(word):
    Проверка, что буквы в слове идут в алфавитном порядке (слово равно своему отсортированному варианту)
  7. print(n)
    Если оба условия выполнены, выводится номер текущей комбинации
Больше разборов на эту и другие задачи вы можете найти в нашем Телеграм канале: Информатика ЕГЭ | itpy 👨‍💻
Подписывайтесь на наш канал по теории Python: Азим вкатывается в IT | itpy 💻  Вы найдете тут много полезного!