Neuroware
@Neuroware
Программист в свободное от работы время

Возможно ли определить за умеренное время (часы\дни) является ли заданное число, с числом знаков более 1000, простым?

Суть вопроса в заголовке, я знаю, что алгоритмов много, но интересно насколько долго будет проводиться процедура, скажем если будет 1млн. знаков. Число заранее определено.
  • Вопрос задан
  • 222 просмотра
Пригласить эксперта
Ответы на вопрос 3
@vilgeforce
Раздолбай и программист
Есть вероятностные тесты, например Рабин-Миллер.
Ответ написан
Mrrl
@Mrrl
Заводчик кардиганов
Скорость работы вероятностного алгоритма - примерно C*L^2*log(L), где L - длина проверяемого числа, C - количество тестов (вероятность false positive будет не больше 4^(-C)). Это если использовать сверхбыстрые алгоритмы умножения. Для миллиона знаков время получится несколько триллионов - и там всё зависит от константы. Будут это часы, или дни - сказать трудно.
Если тестируемое число равно произведению нескольких известных простых чисел + 1, то проверка может дать гарантированный результат, но в этом случае C равно количеству чисел, входящих в произведение.
Ответ написан
starius
@starius
программист, аспирант МГУ
Существует детерминированный полиномиальный алгоритм Агравала... для проверки числа на простоту.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы