标题:求测试下面程序以及一连串的问题
只看楼主
azzbcc
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:江西财经大学
等 级:贵宾
威 望:81
帖 子:3293
专家分:12919
注 册:2012-11-4
得分:0 
刚刚用以前的代码测了一下,2^31以内有 105097565 个素数。
最后一个刚刚好是2^31-1


[fly]存在即是合理[/fly]
2017-01-10 13:59
九转星河
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:长长久久
等 级:贵宾
威 望:52
帖 子:5023
专家分:14003
注 册:2016-10-22
得分:0 
回复 11楼 azzbcc
哎呀,8楼的质合比讲错了,现已更正1000w以内素数的质合比不是1:160,是1:16从这个推出来的2^31也是有1亿个质数左右,这个质合比比STEP=11求的平均步长5.8快了不到3倍,但STEP=11时测试时间还是会可能超过5s,~建立素数表容量大小也会超过128MB了,这题我开始怀疑实现的可能性了如果这样,我得要问问AC是怎么做的,毕竟这题不是正规出题的~~

我现在在想,理论上i遍历2^31应该能在1s内解决,但实际上,大数相模会影响执行效率~

计算pow(2,2)和计算pow(2,61)的时间应该会不同吧~~

超时一部分原因应该是数据大小直接影响了单次的执行效率~

[此贴子已经被作者于2017-1-10 14:27编辑过]


[code]/*~个性签名:bug是什么意思?bug是看上去没有可能的东西实际上是有可能做到的 就是这样~2018-08-08更~*/[/code]
2017-01-10 14:23
azzbcc
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:江西财经大学
等 级:贵宾
威 望:81
帖 子:3293
专家分:12919
注 册:2012-11-4
得分:50 
1s 的话,也不是做不到,反正都是空间换时间的,

我觉得解决方案应该是用素性测试,虽然不是确定算法。


[fly]存在即是合理[/fly]
2017-01-10 14:44
九转星河
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:长长久久
等 级:贵宾
威 望:52
帖 子:5023
专家分:14003
注 册:2016-10-22
得分:0 
回复 13楼 azzbcc
百度了一下大质数判断是要用素性测试啊~那个算法我要慢慢消化,知道原理就好,先放了,当解决了~

[code]/*~个性签名:bug是什么意思?bug是看上去没有可能的东西实际上是有可能做到的 就是这样~2018-08-08更~*/[/code]
2017-01-11 15:13



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-473458-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.079292 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved