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

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

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

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

Похожие вопросы