Информатика: ОГЭ и ЕГЭ

Тренировка ЕГЭ · задание 25 · делитель с заданным окончанием

Задание 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

Решить такую задачу — новый вариант с проверкой

Задание 25 ЕГЭ: другие виды

Все задачи задания 25 вперемешку · разбор: как решать задание 25 · пробные варианты ЕГЭ