Решение: Поиск чисел по делителям
Пусть $M$ — сумма минимального и максимального натуральных делителей целого числа, не считая единицы и самого числа. Если таких делителей у числа нет, то считаем значение $M$ равным нулю.
Напишите программу, которая перебирает целые числа, большие $700\,000$, в порядке возрастания и ищет среди них такие, для которых значение $M$ оканчивается на 8. Выведите первые пять найденных чисел и соответствующие им значения $M$.
Формат вывода: для каждого из пяти таких найденных чисел в отдельной строке сначала выводится само число, затем — значение $M$.
Строки выводятся в порядке возрастания найденных чисел.
Например, для числа 20 $M = 2 + 10 = 12$.
Решение по шагам
3 шагаДля каждого числа $n$ ищем его наименьший делитель $p$, больший единицы. Если делителей, кроме 1 и самого числа, нет, значение $M$ равно нулю.
$$M = 0$$Если $p$ найден, то максимальный собственный делитель числа равен $n/p$, поэтому вычисляем значение $M$.
$$M = p + \dfrac{n}{p}$$Перебор чисел, начиная с $700001$, даёт первые пять подходящих чисел и значения $M$.
$$700007: 7 + \dfrac{700007}{7} = 100008$$700007 100008
700012 350008
700015 140008
700032 350018
700052 350028
Этот ответ получен в разборе, но не сверен с официальным ключом из банка — проверьте выкладки, прежде чем заучивать результат.
Где здесь ошибаются
Учитывают единицу или само число как искомый делитель.
Берут сумму двух наименьших делителей вместо минимального и максимального.
Перестают перебор после нахождения первого подходящего числа.
Выводят числа не в порядке возрастания.