Решение: Поиск чисел по простым делителям
Пусть $M$ — сумма минимального и максимального простых натуральных делителей целого числа, не считая самого числа. Если таких делителей у числа нет, значение $M$ считается равным нулю. Напишите программу, которая перебирает целые числа, большие $8\,007\,524\,668$, в порядке возрастания и ищет среди них такие, для которых $M$ больше $110\,000$, является простым числом, а десятичная запись числа содержит последовательность цифр 991 ровно один раз. Для первых пяти найденных чисел определите соответствующие значения $M$.
Решение по шагам
4 шагаПеребираем натуральные числа в порядке возрастания, начиная с числа, следующего за $8\,007\,524\,668$.
$$n = 8\,007\,524\,669, 8\,007\,524\,670, \ldots$$Оставляем только числа, в десятичной записи которых последовательность 991 встречается ровно один раз.
$$\operatorname{count}(\operatorname{str}(n),991)=1$$Разлагаем каждое подходящее число на простые множители. Если число имеет хотя бы один собственный простой делитель, находим минимальный и максимальный из них и вычисляем их сумму.
$$M=p_{\min}+p_{\max}$$Проверяем, что $M>110\,000$ и число $M$ простое. После нахождения пяти чисел выводим их и соответствующие значения $M$.
Первые пять пар должны быть получены программным перебором в порядке возрастания.
Этот ответ получен в разборе, но не сверен с официальным ключом из банка — проверьте выкладки, прежде чем заучивать результат.
Где здесь ошибаются
Учитывают само число как простой делитель.
Проверяют наличие 991, но не проверяют, что последовательность встречается ровно один раз.
Считают простым числом составное значение $M$.
Останавливают проверку делителей слишком рано и получают неполное разложение.