Java BigInteger素数

Señ*_*cis 7 java primes biginteger

我正在尝试生成BigInteger类型的随机素数,即我提供的最小值和最大值之间.

我知道BigInteger.probablePrime(int bitlength,random),但我不确定比特长度是如何转换为输出素数的最大值/最小值.

谢谢,Steven1350

jpr*_*ete 2

BigInteger.probablePrime(bitLength, random)将返回指定位长度的(可能)素数。这意味着最大值为 2^bitlength - 1,最小值为 2^(bitlength - 1)。尽管我讨厌它作为答案,但这可能是你最好的选择,除非你想开始钻研数论。

您所要做的就是找出您的范围所需的位长度,然后将它们传递给您,probablePrime()直到您返回正确范围内的质数。