Разложение на множители (факторизация)
Версия от 08:14, 19 февраля 2011; 192.168.0.2 (обсуждение) (→Разложение на множители за O(\sqrt{n}))
Перебор делителей — алгоритм факторизации или тестирования простоты числа путем полного перебора всех возможных потенциальных делителей.
Проверка числа на простоту за
Обычно перебор делителей заключается в переборе всех целых (как вариант: простых) чисел от 2 до квадратного корня из факторизуемого числа n и в вычислении остатка от деления n на каждое из этих чисел. Если остаток от деления на некоторое число m равен нулю, то m является делителем n. В этом случае либо n объявляется составным, и алгоритм заканчивает работу.
Таким образом, осуществляя проверку на делимость за
и перебирая не более чисел, получаем максимальную оценку времени работы алгоритма: .Разложение на множители за
Для поиска разложения числа на множители воспользуемся так же простым перебором чисел от
до . С помощью алгоритма проверки простоты найдём первый делитель числа . Далее сокращается в раз и процедура повторяется. По достижении квадратного корня из и невозможности сократить ни на одно из меньших чисел, объявляется неразложимым.