【发布时间】:2010-11-19 21:59:50
【问题描述】:
我正在尝试找出 1000 位长的数字是否为素数。我想使用的算法是 6k+/-1
我面临的问题是如何在 java 中存储这么长的数字,它将字符串作为输入。
或
做除数应该只考虑数字的最后几位。
请指教
【问题讨论】:
-
你有足够的 CPU 能力来做这件事吗?这不是一件容易的事。
-
您可能需要考虑使用已经存在的软件来执行此计算。如果您可以避免重新发明轮子,那么重新发明轮子是没有意义的,而且现有的软件很可能会胜过您自己的混合物。
-
6k +/- 1 会告诉您它是否不是素数,或者它是否可能是素数。示例:k=6,35 不是素数。然而 723 == 3 (mod 6) 很快被确定为不是素数。如果 n == +-1 (mod 6),你仍然需要一个素数测试