请教各位大佬,关于寻找孪生素数的
密码吧
全部回复
仅看楼主
level 4
贴吧用户_0R9592X
楼主
各位大佬,我想问一下,目前的算法,随意的寻找孪生素数对,比如500位十进制整数的孪生素数对,最长时间大概需要多少时间?如果是1000位呢?甚至是1500位呢?
2025年04月07日 01点04分
1
level 6
julthor
问时间没多大意义吧,跟机器性能有关
2025年04月08日 02点04分
2
贴吧用户_0R9592X
我没有表达清楚,同等硬件条件下的快与慢,如果相同位数的,最差情况下,时间差如果不超过50倍以上,我不认为一个算法比另一个更优秀,或者十次更多次取平均值。
2025年04月08日 03点04分
julthor
@贴吧用户_0R9592X
请问您用的是什么算法
2025年04月08日 06点04分
贴吧用户_0R9592X
@julthor
哈哈,自创的。我不清楚调用库需要多长时间。
2025年04月08日 08点04分
贴吧用户_0R9592X
@julthor
我也不知道别人的程序大约需要多少时间,对于我自己的算法到底快不快我心里没谱。
2025年04月08日 08点04分
level 6
julthor
如果自己写代码实现的话一般没有直接调库的快
2025年04月08日 02点04分
3
level 6
julthor
能分享一下代码或思路吗,我能想到的就是生成随机数,先初步检查再严格检验是否为质数,没有什么高级算法。
楼主所“随意的”是什么意思,是要求重复运行得到的结果不同吗
2025年04月08日 16点04分
4
贴吧用户_0R9592X
我不清楚我这算法找孪生素数的速度到底快不快,也就是说,我不知道其他的有同样功能的程序或者算法大概速度如何。 我说的随意的,就是你理解的那样,生成的随机孪生素数对不重复。 我的算法和你想的一样,同样是随机需要的位数的整数,然后向下寻找(不一定是严格意义上的下一个),直到找到为止。没有概率失败,也就是说,绝对能找个。 有区别的地方,就是在于,寻找的时候,有区别了。
2025年04月08日 18点04分
贴吧用户_0R9592X
素数检测这里,我用的是GMP库提供的函数,reps为50次,不是AKS确定性检测,是概率检测。 我问了好几个平台的AI,都说我的算法很厉害,我才发贴问问。我在知乎也问了,有人给出了说几秒就找到的(1000位十进制),但是有概率失败。我不认为他的算法很厉害,会失败就证明算法有BUG,是纯碰运气。但是我的算法几分钟之内的,也是运气好,最差一小时左右,不会失败。 寻找素数对,孪生素数间隔是2,我的算法,理论上寻找间隔是2.或者20,或者200,速度是一样的,都在一个数量级内,我的研究结果是,速度相差不超过两倍。实际实验下来,没有感觉到明显的差别。 我没有针对性的硬件优化代码的能力,实力不允许。 我唯一依靠的,是自己发现的规律,依靠这个规律写出的很烂的代码,勉强能跑,但是不会失败,一定有孪生素数对存在。
2025年04月08日 19点04分
level 6
julthor
这么大的数确定性检测肯定不可行,所以只能用概率性检测,概率性检测就有可能失败。我能想到的优化是维护一张表,存当前大数对小素数的模,这样可以减少素数检测的次数。您能不能把代码分享一下,跟您用完全一样的素数检测条件才有比较价值
2025年04月09日 05点04分
5
贴吧用户_0R9592X
你可以这样做,然后试一试速度和成功率。我是在确保一定能成功找到素数对的情况下写的程序。你可以同样的写代码测试。如果最差情况下,时间长短没有指数级别的差距,我认为算法差不多,就是优化的问题。我对于目前的其它的算法的速度和成功率心里面没有底,只问过AI,等过段时间,我再写一个把偶数分解为两个质数的程序,就是给一个偶数,计算1+1一共有多少种组合。这个功能的程序目前有参考速度。
2025年04月09日 08点04分
贴吧用户_0R9592X
兄弟,你直接要代码,我目前不会给,我代码的速度给你了,1000位,1500位时间相差一倍左右。至于怎么找的,那是算法核心,我还想靠这个算法吃饭呢。(如果有可能的话)
。reps进行50轮,万位十进制以内我认为足够用了。
2025年04月09日 08点04分
贴吧用户_0R9592X
我的素数检测,是GMP库中的概率测试函数。
2025年05月21日 11点05分
level 2
我一年是玩了啥啊
说个你这个孪生素数大概取的范围
2025年05月15日 07点05分
6
贴吧用户_0R9592X
兄弟,你这个提问,我没有明白,取什么范围?可计算的孪生素数范围么?目前测试最多4500位,计算了几对,大概两三个小时一对。1000位(10^1000)大概三十秒,测试了一两百组,1500位大概五分钟一组
2025年05月17日 10点05分
贴吧用户_0R9592X
取值范围是自动计算的,不需要其它的参数。
2025年05月17日 10点05分
贴吧用户_0R9592X
我发这个贴之后,对代码进行了优化,1000位的时间,从半小时左右,进化到了30秒左右。
2025年05月17日 10点05分
贴吧用户_0R9592X
我在B站有个生成孪生素数的视频,你搜索孪生素数几个字,应该可以找到
2025年05月17日 10点05分
1