25 задание демо ЕГЭ 2025 (2 часть)

2 вариант 25 задания из демоверсии ЕГЭ 2025 года. Поиск чисел в заданном интервале по маске и делителю.

Условие

Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы:
– символ «?» означает ровно одну произвольную цифру;
– символ «*» означает любую последовательность цифр произвольной длины; в том числе «*» может задавать и пустую последовательность.
Например, маске 123*4?5 соответствуют числа 123405 и 12300405.

Среди натуральных чисел, не превышающих 1010, найдите все числа, соответствующие маске 3?12?14*5, делящиеся на 1917 без остатка.
В ответе запишите в первом столбце таблицы все найденные числа в порядке возрастания, а во втором столбце – соответствующие им результаты деления этих чисел на 1917.

Решение

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

По условию, интервал чисел – от 1 до 1010 включительно. Найдём минимальное число, кратное 1917, равное либо превышающее минимальное по маске и от него будем проверять числа на соответствие маске с шагом 1917.

Чтобы найти минимальное число, соответствующее маске, заменим в ней “?” на 0, а “*” – на пустую последовательность. Получаем 30 120 145. Это число не делится без остатка на 1 917:

30 120 145 : 1 917 = 15 712,126

Определим ближайшее, превышающее его число, кратное 1917:

(15 712 + 1) * 1917 = 30 121 821

Иначе, через целочисленное деление:

(30120145 // 1917 + 1) * 1917

25 демо ЕГЭ 2025 2_1

Остаётся перевести число в строку

и проверить соответствие маске.

Выводим результат для записи ответа

Программа

25 демо ЕГЭ 2025 2

Результат

351261495183235
32126140351675855
34126146451780185
37124142751936575
39124148852040905