数学中国

 找回密码
 注册
搜索
热搜: 活动 交友 discuz
12
返回列表 发新帖
楼主: simpley

想做一个大素数的检测程序

[复制链接]
发表于 2025-4-13 09:32 | 显示全部楼层
本帖最后由 天山草 于 2025-4-13 10:04 编辑

目前普通家用计算机用 mathematica 软件判断一个大整数是不是质数所需要的时间,如果大整数是一万位左右,判断时间约为一分钟。
如果大整数是一千位左右,判断时间只需一秒钟左右。
下面是在我的比较落后的家用计算机上用版本 9.0 的 mathematica (也是落后的版本了) 试验的结果:


由实际测试知,对于 969 位的数,不到 0.1 秒钟能判断它是不是质数; 对于 13395 位的数,约 54 秒钟能判断它是不是质数。
如果基于分解大整数用于加密、解密用途,必须能在短时间内分解一个大整数的质因数,只判断是不是质数是不够的,必须能在短时间内分解它才行。
目前普通家用计算机用 mathematica 软件分解一个大整数的质因数,几十位的数还行,到一百位左右分解就非常困难了,即需要的时间太长,长到无法忍受。
而在专业的大型计算机上使用其它的专业软件,分解 400 位左右的大整数所需时间,不知道需要多少分钟,这个时间应该属于保密数据。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

点评

ysr
这个厉害,点赞了!我没有这种编程语言,不会用这样的编程语言编程。  发表于 2025-4-13 10:12
ysr
这个厉害,点赞了!我没有这种编程语言,不用这样的编程语言编程。  发表于 2025-4-13 10:11
ysr
这个厉害👍👍👍👍,我不会这个程序编程,没有这个编程语言  发表于 2025-4-13 10:09
回复 支持 反对

使用道具 举报

发表于 2025-4-13 10:26 | 显示全部楼层
在我的破计算机上用 9.0 版的 mathematica 分解一个 100 位的正整数的质因子,用时约 189 秒钟。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

点评

ysr
厉害了,点赞了!大大点赞!  发表于 2025-4-13 11:27
回复 支持 反对

使用道具 举报

发表于 2025-4-13 12:22 | 显示全部楼层
你们让deepseek去写写看。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2025-4-16 14:02 | 显示全部楼层
我让自己写的程序测试一下天山草的数,居然不一样.
enter dividend:10941738641570527421809707322040357612003732945449205990913842131
47634998428893417617233563498952137
enter divisor:382454771858087368624160023056839
the remainder:3766386683668271823209971637303
the quotient:0286092355140767843766386683668271823209971637303031389364483975420
6
enter dividend:10941738641570527421809707322040357612003732945449
20599091384213147634998428893417617233563498952137
enter divisor:29
the remainder:14
the quotient:0377301332467949221441714045587598538344956308463142413479787659706
08103394099773021283915982722487
让天山草提供的100位数分别除以它的两个因子,居然都有余数.按说我不应该怀疑国际知名软件的正确性,可是我的程序结果和WINDOWS计算器的结果相验证,总是对的呀.
回复 支持 反对

使用道具 举报

发表于 2025-4-16 17:56 | 显示全部楼层
10941738641570527421809707322040357612003732945449205990913842131
47634998428893417617233563498952137=29^3*43*121313*8600358301……87<88位>
回复 支持 反对

使用道具 举报

发表于 2025-4-16 17:58 | 显示全部楼层
ysr 发表于 2025-4-16 09:56
10941738641570527421809707322040357612003732945449205990913842131
476349984288934176172335634989521 ...

29   ^   3   ×   43   ×   121313 =127,224,218,551
回复 支持 反对

使用道具 举报

发表于 2025-4-16 18:09 | 显示全部楼层
ysr 发表于 2025-4-16 09:58
29   ^   3   ×   43   ×   121313 =127,224,218,551

1094173864157052742180970732204035761200373294544920599091384213147634998428893417617233563498952137/  127224218551=  8600358301422260014184606459033747822075654216882159382495197521220222113973229788828287
回复 支持 反对

使用道具 举报

发表于 2025-4-16 18:16 | 显示全部楼层
ysr 发表于 2025-4-16 10:09
10941738641570527421809707322040357612003732945449205990913842131476349984288934176172335634989521 ...

8600358301422260014184606459033747822075654216882159382495197521220222113973229788828287=16758957913<11>* 20662824737109077<17>* 64938127059988717636240535533<29>* 382454771858087368624160023056839<33>
回复 支持 反对

使用道具 举报

 楼主| 发表于 2025-4-17 01:18 | 显示全部楼层
确是我的程序有错误,新修改了下
enter dividend:10941738641570527421809707322040357612003732945449205990913842131
47634998428893417617233563498952137
enter divisor:43
the remainder:0
the quotient:0254459038176058777251388542373031572372179835940679209091019584452
93837172764963200400780546487259
不再有余数了











































回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|数学中国 ( 京ICP备05040119号 )

GMT+8, 2025-4-27 14:40 , Processed in 0.086645 second(s), 15 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表