代码之家  ›  专栏  ›  技术社区  ›  Long Pollehn

为什么Java BigInteger会说“可能素数”而不是“当然素数”?

  •  0
  • Long Pollehn  · 技术社区  · 7 年前

    BigInteger的JavaDoc让我觉得非常不安全,例如下面的构造函数说:

    BigInteger(int bitLength, int certainty, Random rnd)
    

    构造一个随机生成的正BigInteger,它可能是

    2 回复  |  直到 7 年前
        1
  •  5
  •   President James K. Polk    7 年前

    docs 对于 BigInteger(int bitLength, int certainty, Random rnd)

    certainty :呼叫者的不确定性度量 愿意容忍。新的大整数 表示将超过的素数 (1 - ). 执行时间

    因此,构造函数允许您指定它将是素数的确定性,这就是为什么文档会说“可能”

        2
  •  4
  •   OpenSauce    7 年前

    因为概率算法的运行速度比验证这个数是否绝对是素数要快得多。