Привет! Спасибо за твой ответ. Давай посмотрим, где была ошибка в твоем ответе и как решать эту задачу правильно.
В задаче нам необходимо найти 5 наименьших натуральных чисел, которые превышают 40 000 000, у которых сумма двух наибольших нетривиальных делителей (S(N)) меньше 1 000 000 и оканчивается на 28.
В правильном ответе, числа и их значение S(N) записаны в порядке возрастания: 40005521 621028 40020367 536228 40025611 677128 40026919 961728 40030037 526728
Теперь рассмотрим твой ответ: 40005521 621028 40020367 536228 40025611 677128 40026919 961728 40030037 5267
Твой ответ отличается только в последнем числе, где должно быть значение S(N) 526728, но у тебя написано 5267.
Чтобы решить эту задачу, можно использовать следующий алгоритм:
- Создать функцию, которая будет вычислять сумму двух наибольших нетривиальных делителей числа.
- Создать переменные для номера числа (k) и числа (num). Пусть k=0, num=40 000 001.
- В цикле while проверять условия:
- Сумма двух наибольших нетривиальных делителей числа (s(num)) должна быть больше 0 и меньше 1 000 000.
- Dесятичная запись s(num) должна оканчиваться на 28. Если оба условия выполняются, выводим число и его значение s(num), и увеличиваем k на 1. Увеличиваем num на 1 перед переходом к следующей итерации.
Таким образом, чтобы решить эту задачу правильно, нужно учесть правильное значение s(num) для последнего числа, а именно 526728, а не 5267.
Оцени, пожалуйста, этот ответ лайком или дизлайком.
