Расширение алгоритма для нахождения разложения числа на простые множители

Предположим, что в результате применения алгоритма разложения путем деления методом проб к n мы нашли делитель q1 этого числа. Тогда q1 – его наименьший простой множитель. Применим тот же алгоритм к числу n / q1. Предположим, что число n / q1 составное и q2 – его наименьший простой делитель. Ясно, что q2q1. Заметим, однако, что эти делители могут оказаться равными. Такая возможность реализуется, если n делится на q12. Продолжая в том же духе, мы применяем алгоритм к n / (q1 q2) и т.д. В результате мы получаем последовательность простых чисел q1 q2 q3 qs, каждое из которых является делителем числа n. Критерием завершения работы алгоритма является получение делителя qk равного 1.

Пример: n = 450.

450 / 2 = 225 → 225 / 3 = 75 → 75 / 3 = 25 → 25 / 5 = 5 → 5 / 5 = 1. Стоп.

450 = 2 * 32 * 52.




double arrow
Сейчас читают про: