Monthly Archives: Октябрь 2023

Факторизация числа на Java

Факторизация - это разложение числа на произведение простых чисел.

Например: число 100 разлагается на 2 * 2 * 5 * 5.

Ниже приведена реализация на Java с алгоритмической сложностью sqrt(N).

Мы перебираем делители он 2 до квадратного корня из факторизируемого числа, и делим число на делитель, пока это возможно.

В конце остается либо 1, либо простое число, которое добавляется в результат.

List factorization(int num) {
    List factors = new ArrayList();
    for (int i = 2; i