- 主题:如何快速准确的判断一个73位(甚至207位)的数,是不是素数?
无意间,产生一个73位的数,网站说是素数。我如何快速准确的判断是不是素数呢?
2171215253114636109376559870215896869956324375013957926424893086146552813
还有,比如
544060619151779046651409439300707217946129505352004115332837604713312178459013241836215088519140362769108316187482548035828239378680817620486605476208245611699136004275024704575687750493252005005477334848117
这个207位的,网站也说是素数。我如何快速准确的判断出来?
--
修改:feng321 FROM 120.242.238.*
FROM 120.242.238.*
207位,目前还没有这么大的质数表吧?
【 在 upndown 的大作中提到: 】
: 没办法。有质数表的话查表
:
:
--
FROM 120.242.238.*
看我本版另一个贴子,国外一有名网站上,素性检测出错了
【 在 xWvxYWYxvWx 的大作中提到: 】
: 米勒-拉宾素性检验 / Miller–Rabin primality tet
: 200 位的大数,应该几秒钟就能判断出来,并且有极高的置信度。
: 自己用代码实现一个也不算太难。
: ...................
--
FROM 120.242.238.*
openssl,也是用这个概率判别算法?
【 在 sosei 的大作中提到: 】
: 有概率性快速判别算法
:
--
FROM 120.242.238.*
$ openssl prime -generate -bits +1000
8177333654049428257552094873172463137671284942455210027744727082254837423061471397917313009573693663267152052045616827183256590199907950659991711324427662599574878100319968076898364419074775730893157189585930043845617099334526009694055842791874274570018354027059745105511009175201768887503353628713389
用这个产生了一个1000二进制位的素数(301十进制位),factordb ¥¥¥¥com 说,可能是素数
【 在 jinbabawa 的大作中提到: 】
: 看看OpenSSL的代码,是怎么检查一个数是否是素数的:
: openssl-prime
: This command checks if the specified numbers are prime.
: ...................
--
FROM 120.242.238.*
3825 12305 65464 13051 ,试试这个19位数?
【 在 xWvxYWYxvWx 的大作中提到: 】
: 我今天闲来无事,用 Scala 实现了一个粗糙但是正确的 Miller–Rabin素性测试算法。
: 跑了一下,你给出的这两个数都是素数。用时 ~200 毫秒。
: 出错概率 < 4^(-100) ~= 10^(-60)
: ...................
--
FROM 120.242.238.*
这是chatgpt3.5给出的
【 在 wedde 的大作中提到: 】
: 贴个文心一言的结果
:

[upload=1][/upload]
--
FROM 120.242.238.*
MultipleOf(List(5117556945601)) ,是什么意思?
【 在 xWvxYWYxvWx 的大作中提到: 】
: result:
: 3825123056546413051 is MultipleOf(List(5117556945601))
: 实际上,
: ...................
--
FROM 120.242.238.*
你这个false,表示什么意思?是素数?还是 不是素数?
【 在 ZHMZFFL 的大作中提到: 】
: [upload=1][/upload]
:
--
FROM 120.242.238.*