Практикум ЕГЭ: задачи на программирование

Делители и маски (задание 25)

1 / 23

Задание 25 ЕГЭ — про делители. Формулировки меняются, но обычно это один из трёх сюжетов (пересказываем своими словами, числа наши):

  • Отрезок и делители. Перебрать числа отрезка [A; B], отобрать те, у которых делители удовлетворяют условию (например, ровно четыре делителя), и для каждого записать число и какой-то его делитель.
  • Величина из делителей. Например, M(N) — сумма наименьшего и наибольшего делителей N, не считая 1 и самого N. Найти первые несколько чисел больше заданного, у которых M(N) обладает нужным свойством.
  • Маска. «12?45*6» — шаблон числа, где ? означает ровно одну цифру, а * — любую последовательность цифр, возможно пустую. Найти все числа не больше L, подходящие под маску и кратные заданному числу.

Ответ обычно записывают таблицей из двух столбцов. Чисел для проверки — сотни тысяч, и у каждого надо искать делители. Руками — невозможно, программой — дело пары минут, если перебирать делители с умом. Этим и займёмся: делители до корня, простые числа, маски и аккуратный вывод ответа.