ЕГЭ Информатика 2023: Задача 8 — Количество пятизначных чисел

Данное задание проверяет знание основных понятий и методов, используемых при измерении количества информации. Задача относится к комбинаторике и имеет базовый уровень сложности. На её выполнение отводится около 4 минут.

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

Определите количество пятизначных чисел в восьмеричной системе счисления, в записи которых только одна цифра 6, при этом никакая нечётная цифра не стоит рядом с цифрой 6.

Решение

В восьмеричной системе счисления используются цифры от 0 до 7. Задача сводится к созданию всех возможных комбинаций пятизначных чисел, содержащих ровно одну шестёрку, при условии, что слева и справа от шестёрки не стоят нечётные цифры (1, 3, 5, 7).

Реализация на Python

from itertools import product

digits = '01234567'
count = 0

for combo in product(digits, repeat=5):
    num_str = ''.join(combo)
    if num_str.count('6') == 1 and num_str[0] != '0':
        six_index = num_str.index('6')
        is_valid = True
        if six_index > 0 and num_str[six_index - 1] in '1357':
            is_valid = False
        if six_index < 4 and num_str[six_index + 1] in '1357':
            is_valid = False
        if is_valid:
            count += 1

print(count)  # Вывод: 2960

Код использует множество цифр восьмеричной системы digits. Цикл for и функция product генерируют все возможные пятизначные комбинации. Каждая комбинация преобразуется в строку num_str. Проверяются условия:

  • num_str.count(‘6’) == 1: ровно одна шестёрка.
  • num_str[0] != ‘0’: число пятизначное.
  • six_index > 0 and num_str[six_index — 1] in ‘1357’: слева от шестёрки нет нечётной цифры.
  • six_index < 4 and num_str[six_index + 1] in ‘1357’: справа от шестёрки нет нечётной цифры.

Если условия выполнены, счётчик count увеличивается. Выводится итоговое значение счётчика – количество подходящих чисел (2960).

Использование Python и модуля itertools упрощает и ускоряет подсчёт, позволяя получить результат за меньшее время, чем при ручном подсчёте. Это демонстрирует преимущество программирования для решения задач комбинаторики на ЕГЭ по информатике.

Что будем искать? Например,программа