НИ
Наталья Иванникова

Наибольший делитель, не равный самому числу

Как найти наибольший делитель, не равный самому числу?
Способ "разложить на множители и выбрать наибольший из них" не предлагать.

Нужен способ, который мог бы находить данный делитель для чисел до 10^9. При простом переборе чисел получается слишком большие затраты компьютерных ресурсов.

Иван
Иван

Ха! Это вопрос.. .

Это т. наз. задача "факторизации больших чисел". Для нее не существует известного способа быстрого решения.
И на этом (на невозможности быстрого решения) построены некоторые алгоритмы шифрования "с открытым ключом".

Кто-нибудь найдет способ - и секретность рухнет. )))))

Иван
Иван

Делим Число1 на Делитель=(Число1 минус один) . Если результат целый, то Делитель=(Число1 минус один) - наибольший делитель. Иначе уменьшаем Делитель на еще 1 и повторяем проверку (организуем цикл) .

Еще надо рассмотреть исключения- если Число1 задано как ноль, единица или отрицательное

Для большиих чисел: тогда подходи с другой стороны: дели на 2, проверяй результат на целое ли число, потом на 2+1 и т. д. "результат" - искомый макс. делитель.

Похожие вопросы
Найти наибольший общий делитель числе 72 и 48
Дано натуральное число. Найти его наименьший делитель (не равный 1).Знаю что это само число, но задание по информатике и
сумма трех наибольших делителей натурального числа Н равна 22. Найдите все такие Н.
Разложите числа на простые множители и найдите их наибольший общий делитель
Почему среди делителей числа всегда есть наименьший и наибольший? Что это за числа?
делители натурального числа
Делители числа 2700. Сколько делителей у числа 2700 и почему?
Какой отряд птиц включает наибольшее число видов?
Двузначное число таково, что произведение цифр этого числа является его делителем. Найти все такие числа.
какое натуральное число, не превышающее 100, имеет наибольшее количество делителей?