0

我知道这是一个与数学相关的问题,但我要在这里问它,因为我认为它与编程更相关。

我想制作一个简单的程序(用于我的 Raspberry Pi)来计算一个非常大的数字是否是素数。使用 Python,我设法创建了一个可以做到这一点的简单程序。但是,当我输入非常大的数字时,它会引发错误。

所以我的问题是,我应该用什么编写程序?我应该继续使用 Python,还是应该使用更快的语言?我知道计算非常大的数字可能需要几天甚至几周的时间,但我确信某些语言比其他语言更有效。

为了避免混淆,我不是在询问你的意见。我在问什么语言在计算时最快

谢谢!

4

1 回答 1

1

Java 的 BigInteger 实现使用费马大定理来判断大数是否可能是素数。http://docs.oracle.com/javase/7/docs/api/java/math/BigInteger.html#isProbablePrime(int)

BigInteger.valueOf(number).isProbablePrime(5)

其中 5 表示素数的可能性为 (1 - (1/2)^5)=.969

于 2013-09-14T00:29:13.917 回答