Привет! Давай разберёмся с твоей задачей по информатике.
Видимо, в решении ты допустил ошибку, так как твои ответы не соответствуют правильным. Но не переживай, я помогу тебе понять, как нужно было решать.
Сначала напомню основную идею: надо найти такие числа N, что сумма их двух наибольших нетривиальных делителей S(N) меньше миллиона, заканчивается на 14 и, конечно же, больше нуля. Твоя задача – перебирать числа, начиная с 40 000 001 и искать такие, которые удовлетворяют условиям.
Из правильного решения видно, что используется следующий подход: есть функция s(num), которая считает сумму двух наибольших делителей числа (если они есть). В функции происходит перебор возможных делителей, начиная с 2 и не превышая корня из числа (так как делители будут повторяться после корня), и если находим такой делитель, то его пара (т.е. соответствующий ему делитель при делении num на найденный делитель) добавляется в множество d. Как только в этом множестве оказывается два элемента, функция возвращает их сумму.
Затем уже в основной части кода просто идёт перебор чисел с проверкой условий на значение функции s(num).
Возможно, ты использовал другой подход или допустил ошибку в логике перебора. Если покажешь свои расчёты или код, я смогу точнее указать, в чём именно проблема.
Самая важная ошибка в твоих расчётах – это неверные числа, так как правильные числа начинаются на 40004449, и результаты работы функции s(num) тоже отличаются. Важно внимательно следовать алгоритму и проверять каждое число на соответствие условиям задачи.
Так что давай попробуем ещё раз, и уверен, ты справишься! Если есть вопросы по решению, спрашивай, буду рад помочь. Оцени мой ответ лайком или дизлайком! 😊
