Задание 25 ЕГЭ: делитель с заданным окончанием
Делитель, оканчивающийся заданными цифрами. Тема номера — делители и маски чисел. Ниже — пример с ответом и решением; кнопкой под ним можно решить такую же задачу с другими числами, ответ проверится сразу.
Пример
Найдите пять наименьших натуральных чисел, больших 893 897, у каждого из которых есть хотя бы один делитель, запись которого оканчивается цифрами 38. При этом делитель не должен быть равен ни самому числу, ни числу 38.
В ответе запишите найденные числа в порядке возрастания, справа от каждого числа — наименьший такой делитель.
Ответ
893904 111738; 893914 938; 893926 3938; 893928 238; 893958 438Решение
Перебираем числа после 893 897; делители ищем парами d и n / d до √n — так находятся все делители, кроме 1 и самого числа. Отбираем делители с нужным окончанием (кроме самого числа 38) и берём наименьший.
Ответ:
893904 111738
893914 938
893926 3938
893928 238
893958 438
from math import isqrt
n, found = 893897, 0
while found < 5:
n += 1
divs = set()
for d in range(2, isqrt(n) + 1):
if n % d == 0:
divs |= {d, n // d}
good = [d for d in divs if d % 100 == 38 and d != 38]
if good:
print(n, min(good))
found += 1