Первичная факторизация больших чисел [закрыто]

Я хочу найти простую факторизацию больших чисел меньше 10 ^ 12. Я получил этот код (в Java):

public static List<Long> primeFactors(long numbers) {
        long n = numbers;
        List<Long> factors = new ArrayList<Long>();
        for (long i = 2; i <= n / i; i++) {
            while (n % i == 0) {
                factors.add(i);
                n /= i;
            }
        }
        if (n > 1) {
            factors.add(n);
        }
        return factors;
    }

Прежде всего, какова сложность вышеуказанного алгоритма? У меня возникают трудности с его поиском?

Также это будет слишком медленно для больших чисел, которые просты.

Есть ли лучший алгоритм, или как оптимизировать этот алгоритм ??

Ответы на вопрос(4)

Ваш ответ на вопрос