Для чисел, размер которых вы здесь говорите, самый быстрый метод факторинга (вероятно) - использовать сито Эратосфена для генерации простых чисел примерно до квадратного корня числа, а затем использовать пробное деление на те, чтобы найти один (ые) являются делителями.
Для больших чисел было изобретено несколько методов факторинга. Вы можете использовать Google для «метода факторинга Ферма», «Полларда Ро», «метода Брента», «эллиптической кривой Ленстры», «многочленного квадратичного сита» и «сита поля общего числа». Я перечислил их в (примерно) порядке возрастания сложности и способности учитывать большие числа. Не ясно, стоит ли мне упоминать общее сито в поле чисел или нет - хотя это самый эффективный метод, который в настоящее время известен для вычисления очень больших чисел, он полезен только на действительно больших компьютерах - с разрешением менее 110 цифр или около того, MPQS это быстрее, но для учета больших чисел, когда GNFS быстрее, вам нужно гораздо больше памяти, чем может поддерживать обычный рабочий стол или сервер (терабайт ОЗУ следует рассматривать как минимальную отправную точку, но, вероятно, больше).