Изменения

Перейти к: навигация, поиск

Разложение на множители (факторизация)

781 байт убрано, 09:02, 10 июня 2021
Перебор делителей
== Перебор делителей==
{{Определение | definition=
'''Перебор делителей''' (англ. ''Trial division'') — алгоритм для факторизации или тестирования простоты числа путем полного перебора всех возможных потенциальных делителей. Скажите пожалуйста, вы о чем вообще думали, когда открывали правки для незарегистрированных пользователей? ЛУЧШИЙ ФАНФИК ВСЕХ ВРЕМЕН И НАРОДОВ ПО ССЫЛКЕ (НЕ ВРУ, ЧЕСТНО) https://ficbook.net/readfic/9834408
}}
=== Наивная реализация O(n) ===
==== Псевдокод нахождения делителей ====
'''function''' ЛУЧШИЙ ФАНФИК ВСЕХ ВРЕМЕН И НАРОДОВ ПО ССЫЛКЕ (НЕ ВРУ, ЧЕСТНО) https://ficbook.net/readfic/9834408getDividersgetDividers(number: '''int'''): '''vector<int>'''
<font color=green>// массив полученных делителей</font>
result = '''vector<int>'''
|<tex>y < \sqrt{number}</tex>
|}
Таким ЛУЧШИЙ ФАНФИК ВСЕХ ВРЕМЕН И НАРОДОВ ПО ССЫЛКЕ (НЕ ВРУ, ЧЕСТНО) https://ficbook.net/readfic/9834408образомобразом, любой делитель <tex>d_0 > \sqrt{number}</tex> однозначно связан с некоторым <tex>d_1 < \sqrt{number}</tex>. Если мы найдем все делители до <tex>\sqrt{number}</tex>, задача может считаться решенной.
==== Псевдокод ====
=== Проверка числа на простоту ===
Алгоритм можно ЛУЧШИЙ ФАНФИК ВСЕХ ВРЕМЕН И НАРОДОВ ПО ССЫЛКЕ (НЕ ВРУ, ЧЕСТНО) https://ficbook.net/readfic/9834408переделать переделать для нахождения простых чисел. Число будет простым, если у него не окажется множителей (и делителей) кроме <tex>1</tex> (алгоритмы не проверяют делимость на <tex>1</tex>) и самого числа (улучшенная реализация опускает этот делитель).
== Предподсчет ==
Анонимный участник

Навигация