Найти числа (2 часть). №25 ЕГЭ
2 часть задач на нахождение чисел, у которых делители соответствуют заданным условиям. Решение на Python.
Разбор решения и программа в 25 задание демо ЕГЭ 2025 (1 часть)
№C2301A
Пусть M – сумма минимального и максимального натуральных делителей целого числа, не считая единицы и самого числа. Если таких делителей у числа нет, то считаем значение M равным нулю.
Напишите программу, которая перебирает целые числа, бо́льшие 800 000, в порядке возрастания и ищет среди них такие, для которых значение M оканчивается на 6. Вывести первые пять найденных чисел и соответствующие им значения M.
Формат вывода: для каждого из пяти таких найденных чисел в отдельной строке сначала выводится само число, затем – значение М.
Строки выводятся в порядке возрастания найденных чисел.
Например, для числа 20 М = 2 + 10 = 12.
решение
Внесём изменения в функцию dividers(n), чтобы условия соответствовали задаче. В исходной программе меняем значение number (number = 800_000 + 1) и проверку m (if m % 10 == 6: return m).
Результат:
800003 | 47076 |
800005 | 160006 |
800008 | 400006 |
800019 | 266676 |
800023 | 114296 |
№D4D5BB
Пусть M – сумма минимального и максимального натуральных делителей целого числа, не считая единицы и самого числа. Если таких делителей у числа нет, то считаем значение M равным нулю.
Напишите программу, которая перебирает целые числа, бо́льшие 900 000, в порядке возрастания и ищет среди них такие, для которых значение M оканчивается на 8. Программа должна найти и вывести первые пять таких чисел и соответствующие им значения M.
Формат вывода: для каждого из пяти таких найденных чисел в отдельной строке сначала выводится само число, затем – значение М.
Строки выводятся в порядке возрастания найденных чисел.
решение
Изменения в программе:
number = 900_000 + 1
if m % 10 == 8: return m
Результат:
900012 | 450008 |
900015 | 300008 |
900032 | 450018 |
900041 | 2358 |
900045 | 300018 |
№88A2CE
Пусть M –– сумма минимального и максимального натуральных делителей целого числа, не считая единицы и самого числа. Если таких делителей у числа нет, то считаем значение M равным нулю.
Напишите программу, которая перебирает целые числа, большие 700 000, в порядке возрастания и ищет среди них такие, для которых значение M оканчивается на 8. Вывести первые пять найденных чисел и соответствующие им значения M.
Формат вывода: для каждого из пяти таких найденных чисел в отдельной строке сначала выводится само число, затем –– значение М.
Строки выводятся в порядке возрастания найденных чисел.
решение
Изменения в программе:
number = 700_000 + 1
if m % 10 == 8: return m
Результат:
700005 | 233338 |
700007 | 100008 |
700012 | 350008 |
700015 | 140008 |
700031 | 24168 |
№115302
Напишите программу, которая перебирает целые числа, бо́льшие 700 000, в порядке возрастания и ищет среди них такие, у которых есть натуральный делитель, оканчивающийся на цифру 9 и не равный ни самому числу, ни числу 9. Вывести первые пять найденных чисел и для каждого наименьший им делитель, оканчивающийся на цифру 9, не равный ни самому числу, ни числу 9.
Формат вывода: для каждого из пяти таких найденных чисел в отдельной строке сначала выводится само число, затем – значение наименьшего делителя, оканчивающегося на цифру 9, не равного ни самому числу, ни числу 9.
Строки выводятся в порядке возрастания найденных чисел.
решение
Программа как в Найти числа (1 часть). №25 ЕГЭ, №9C9EF1
Изменения в программе:
number = 700_000 + 1
i in range(19, n, 10)
Результат:
700002 | 29 |
700003 | 18919 |
700004 | 139 |
700005 | 69 |
700011 | 39 |
Примеры из Банка заданий ЕГЭ