BigInteger в Java имеет конструктор, который генерирует простые числа, я не могу найти упоминания о том, какой алгоритм используется в этом. Есть ли название алгоритма или, может быть, книга, где описан этот алгоритм?Алгоритм генерации Java BigInteger
1
A
ответ
0
Используемый алгоритм представляет собой деталь реализации, которая может варьироваться от jdk до jdk, даже между версиями. Контракт состоит только в том, что он дает вам простое число, а не то, что он следует за любым заданным алгоритмом.
1
Рекомендуется, чтобы метод probablePrime Предпочтительнее использовать для этого конструктора, если не является настоятельная необходимость определить определенность. - от Java 7 BigInteger API docs
Сказав это. Вероятные простые методы BigInteger используют алгоритмы Miller-Rabin и Lucas-Lehmer для проверки примитивности.
См. PassMillerRabin (раунды, случайные) & & проходитLucasLehmer(); в BigInteger internal method primeToCertainty from java 7.
Дальнейшее чтение на:
Я смотрел в исходном коде, нет никакого упоминания источника алгоритма или имя либо – Akiles
См http://stackoverflow.com/ вопросы/8744085/difference-between-biginteger-probableprime-and-other-primality-algorithm –
Посмотрите на http://stackoverflow.com/questions/8744085/difference-between-biginteger-probableprime-and-other-primality- algorit HMS. – Linuslabo