| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 28712 人关注过本帖
标题:各位老师好!求助编辑一个大整数的快速乘除法可调用程序
只看楼主 加入收藏
wmf2014
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:216
帖 子:2039
专家分:11273
注 册:2014-12-6
收藏
得分:0 
哦,是10^9,10^10 long型数无法表达,可用double数做,这个类型可做到10^15,估计速度太慢,受内存限制也无法打表,但可以通过打10^5表来提高素数判断速度,速度会很慢。

能编个毛线衣吗?
2020-02-12 20:41
ysr2857
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:34
帖 子:796
专家分:70
注 册:2020-2-10
收藏
得分:0 
谢谢!我复制到电脑,运行了一下程序,结果一样,时间比你长,可能是我开的程序多?我是一边看电视(电脑上),一边还运行了其它两个程序。
图片附件: 游客没有浏览图片的权限,请 登录注册
2020-02-12 21:55
ysr2857
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:34
帖 子:796
专家分:70
注 册:2020-2-10
收藏
得分:0 
我的运行时间是1149秒多一点,我的另两个程序还没有出来结果呢。不太懂你的这个程序,能不能修改一下,仅算出10^9内的孪生素数呢?如何改呢?我不知道10^9内有多少,需要这个数据。谢谢!有空再弄吧!
2020-02-12 22:01
ysr2857
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:34
帖 子:796
专家分:70
注 册:2020-2-10
收藏
得分:0 
您的程序确实速度快,比我的快多了,不知道原理,我直接把6改为0,就是把1.6*10^9改为了10^9,等会儿看看结果吧!确实是比我的程序快,学习了,弄明白了再调整一下我的程序。谢谢!
2020-02-12 22:18
ysr2857
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:34
帖 子:796
专家分:70
注 册:2020-2-10
收藏
得分:0 
就是快,出来结果了,用时291秒,非常感谢!10^内有孪生素数对:3424507.
图片附件: 游客没有浏览图片的权限,请 登录注册


[此贴子已经被作者于2020-2-12 22:28编辑过]

2020-02-12 22:23
wmf2014
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:216
帖 子:2039
专家分:11273
注 册:2014-12-6
收藏
得分:0 
筛法求素数了解下,该算法主要是可以最快速给出一定数据范围内的所有素数表,受限于编译器能申请的最大内存数,我用位表法最多可给出2^34范围内的素数表,大概是1.7×10^10,需要消耗1.1G内存,用c也要耗时半个钟头,没什么实用性。

能编个毛线衣吗?
2020-02-12 22:57
ysr2857
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:34
帖 子:796
专家分:70
注 册:2020-2-10
收藏
得分:0 
嗯嗯好,埃拉托斯尼筛法?高手!我的朋友要这些数据的,我不关心这个数据,关心程序的速度!希望您能指导!提高速度,搞出大整数的快速乘法除法程序,重点是除法程序。我的程序太慢了,还没有算到1600000000.
谢谢!晚安!祝新春愉快万事如意!
2020-02-13 01:21
ysr2857
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:34
帖 子:796
专家分:70
注 册:2020-2-10
收藏
得分:0 
额,是欧拉筛法?我改了一下程序,改成计算到10^10,还没有出来结果,也没有提示溢出,不知道是否能出结果?多长时间?
2020-02-13 11:36
ysr2857
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:34
帖 子:796
专家分:70
注 册:2020-2-10
收藏
得分:0 
内存溢出了,我开的程序多还是咋了?等其它程序运行结束了再试试吧。
2020-02-13 13:34
wmf2014
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:216
帖 子:2039
专家分:11273
注 册:2014-12-6
收藏
得分:0 
你还是去多学些基础吧。
long型数据能表达的数据范围大约是-2.1×10^9至2.1×10^9,你无法通过它计算到10^10.再就是光修改计算范围也没用,用位表筛法存储10^10范围内的素数表需要1.3G内存,byte型数组定义是pri(1300000000),这么大数组vb无法定义。

能编个毛线衣吗?
2020-02-13 13:49
快速回复:各位老师好!求助编辑一个大整数的快速乘除法可调用程序
数据加载中...
 
   



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

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