Задачи из демоверсии 2026 года по информатике с сайта ФИПИ.

dfghjkl


Аналитическое решение. Способ №1:

Решение задачи начну с конца условия задания.

Укажите минимальное число N, после обработки которого с помощью этого алгоритма получается число R, не меньшее 200. 


В задании нужно найти минимальное число, которое после обработки алгоритмом выдаст результат 200 или более. (>= 200)

Значит нужно проанализировать число 200, 201, 202, 203, 204, 205 - думаю, что этого будет достаточно, так как в заданиях уровня ЕГЭ не делают сверх этого. (хотя, это не волшебная таблетка, мол, раз диапазон с 200 до 205, значит нужно бездумно высчитывать только в них ответ. Нужно комплексно подойти к вопросу и точно найти наименьшее.


Переведу эти числа в двоичную систему.

gfhjkl

Напоминаю, что первые два символа в результате перевода это обозначение системы счисления. В нашем случае 0b - двоичная.


Теперь смотрим, могут ли данные числа быть результатом работы алгоритма.

Условие работы алгоритма:

а) если число N делится на 3, то к этой записи дописываются её три последние двоичные цифры;

б) если число N на 3 не делится, то остаток от деления умножается на 3, переводится в двоичную запись и дописывается в конец числа.

Полученная таким образом запись является двоичной записью искомого 
числа R.  

3. Результат переводится в десятичную систему и выводится на экран. 


Проверим под буквой а)

если число N делится на 3, то к этой записи дописываются её три последние двоичные цифры;

Это значит, что если наш результат имеет в конце записи две одинаковые тройки чисел, то это одно из наших искомых чисел.

tfgyhjkl

Предварительно, число 201 подходит. Остальные нет.

Значит проверяем 11001, будет ли оно делиться на 3

fdghjk

К сожалению, 25 на 3 не делится. Нужно проверить вторую часть условия.


Переходим к пункту б)

если число N на 3 не делится, то остаток от деления умножается на 3, переводится в двоичную запись и дописывается в конец числа.

Тут условие сложнее для анализа.

Я предлагаю взять число, близкое к 25, но не делящееся на 3. 

24 на 3 делится. Значит, проверим 23 и 26. Предварительно.


Проверка 23

fghjk

190 меньше 200, 23 не подходит.


Проверка 26

gfhjkl

214 больше или равно 200, предварительно подходит.


На опыте могу сказать, что этого достаточно, чтобы дать ответ, по косвенным признакам можно понять, что 26 наименьшее число, с которого получится результат больше или равно 200.


Аналитическое решение. Способ №2:

Начнем с начала. 

В условии сказано, что:

Например, для исходного числа 1210 = 11002 результатом является число 11001002 = 10010, а для исходного числа 410 = 1002 это число 100112 = 1910. 

Укажите минимальное число N, после обработки которого с помощью этого алгоритма получается число R, не меньшее 200. 


Мы видим, что 12 после обработки выдает 100, а это меньше 200.

Значит нужно посмотреть числа, кратные 3, но которые больше 12.

Это для пункта а)


Для пункта б) нужно просто посмотреть результаты около числа 12, например 13 и так далее.


Проверю число 15 и число 16, чтобы оттолкнуться от примерного результата.

tyguhijk

Результаты сильно меньше 200


Так как решение всё равно нужно делать, то пробую числа кратные трём, и рядом число.

Далее 18 и 19

gfhjkl

Тоже меньше 200


Беру числа 21 и 22

tyguhij

Мы близки))


Берем 24 и 25

gfhjkl

Сильно близки


Берем 27 и 28

Вот тут может и быть ошибка!

Но, так как я изначально предполагал решение с конца, то что то близкое к 27 мы бы нашли сразу, если бы перевели 200 в двоичную...

В подобных задачах очень важно не пропустить числа.

каепрол

Здесь мы обрадовались, но ответ нет 27(


Получается, что аналитический способ может дать быстрое решение, но, к сожалению, мы можем по неопытности пропустить правильный ответ...


Программное решение. Способ №1:

Самым эффективным способом решения задания (и самым правильным) я считаю программный способ. Так он предполагает быструю проверку всех вариантов без глубокого анализа задачи.

План:

Перевести в двоичную систему счисления

Проверить условия

Вывести первый вариант, который подходит

Буду использовать цикл for.

gfhjk

Ошибка IndexError: string index out of range означает, что в этой строке нет трёх символов))

Схитрим и начнем цикл с 4

смить


Программа достаточно бодрая и коротка, главное помнить про встроенные функции python.


Last modified: Monday, 13 October 2025, 10:48 PM