← Все вопросы

Как решать задание 5 ЕГЭ по информатике (автомат, системы счисления)?

Задан 6 месяцев назад1.4к просмотров2 ответа
8

Задание 5 с автоматом, который что-то делает с числом по правилам и выдаёт результат, меня запутывает. Надо найти наименьшее число, у которого результат больше какого-то. Как подступиться к заданию 5?

2 ответа

11
✓ Принятый ответ — помог автору

Задание 5 — это «автомат» или алгоритм, преобразующий число по заданным правилам. Часто работа идёт с десятичной или двоичной записью.

Типовой автомат: берётся число, по нему строится новое (например: сумма цифр, приписывание остатков, операции в двоичной системе), и нужно найти наименьшее/наибольшее исходное число с заданным свойством результата.

Лучший метод — перебор на Python. Реализуешь правила автомата точно как в условии и гоняешь числа по порядку:

def avtomat(n):
    # 1) перевести в нужную с/с
    # 2) применить правила из условия
    # 3) вернуть результат R
    ...
    return R

x = 1
while True:
    if avtomat(x) > 300:   # условие из задачи
        print(x)
        break
    x += 1

Для систем счисления удобно: bin(n), oct(n), int(s, 2).

Частая ошибка: неточно перенести правила автомата (порядок действий, в какой системе считаем, что приписываем спереди или сзади). Перечитай условие пошагово и проверь автомат на примере из задания — если для контрольного числа получаешь тот же результат, что в условии, логика верна.

Если требуют именно наименьшее — иди while от 1 вверх; если наибольшее в диапазоне — перебирай весь диапазон и бери максимум подходящего.

4

Ключ к заданию 5 — дословно воспроизвести алгоритм автомата. В условии обычно по шагам: «получили двоичную запись, нашли сумму единиц, приписали...». Каждый шаг — строка кода.

И всегда проверяй свою функцию на примере, который дан в условии (там часто показан результат для какого-то числа). Совпало — можно запускать перебор и доверять ответу.

Ваш ответ

Войдите, чтобы ответить на вопрос.