Каков наилучший подход к вычислению наибольшего простого множителя числа?
Я думаю, что наиболее эффективным было бы следующее:
- Найти низкое простое число, которое делит чисто.
- Проверьте, является ли результат разделения простым
- Если нет, найдите следующую самую низкую
- Перейдите к 2.
Я основываю это предположение на том, что проще вычислить малые простые множители. Это верно? С какими другими подходами я должен смотреть?
Изменить: теперь я понял, что мой подход бесполезен, если в игре больше двух простых факторов, поскольку шаг 2 терпит неудачу, когда результат является произведением двух других простых чисел, поэтому необходим рекурсивный алгоритм.
Изменить снова: И теперь я понял, что это все еще работает, потому что последнее найденное простое число должно быть самым высоким, поэтому любое дальнейшее тестирование непервого результата с шага 2 приведет к меньшему простому.