Шешімі: Сумма делителей числа
Пусть $R$ — сумма различных натуральных делителей целого числа, не считая единицы и самого числа. Напишите программу, которая перебирает целые числа, большие $500\,000$, в порядке возрастания и ищет среди них такие, для которых $R$ оканчивается на цифру 1. Запишите первые пять найденных чисел в порядке возрастания и соответствующее значение $R$ для каждого из них. Например, для числа 20 $R = 2 + 4 + 5 + 10 = 21$.
Шешімін қадамдап көрсету
4 қадамДля каждого целого числа $n > 500\,000$ перебираем возможные делители $d$ от 2 до $\sqrt n$.
Если $d$ делит $n$, добавляем к сумме $R$ делители $d$ и $n/d$. Если $d^2=n$, добавляем только один из них.
После вычисления суммы проверяем последнюю цифру: условие отбора имеет вид $R \bmod 10 = 1$.
Первые пять найденных пар имеют вид: $(500008,437521)$, $(500168,437661)$, $(500248,437731)$, $(500408,437871)$, $(500488,438011)$.
500008 437521; 500168 437661; 500248 437731; 500408 437871; 500488 438011
Бұл жауап талдау нәтижесінде алынды, бірақ банктің ресми кілтімен тексерілген жоқ — проверьте выкладки, прежде чем заучивать результат.
Где здесь ошибаются
Учитывают в сумме единицу или само число.
Дважды добавляют квадратный делитель при проверке $d^2=n$.
Останавливают перебор после нахождения бір результата вместо пяти.
Проверяют не последнюю цифру суммы, а последнюю цифру самого числа.