| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 29205 人关注过本帖
标题:各位老师好!求助编辑一个大整数的快速乘除法可调用程序
只看楼主 加入收藏
ysr2857
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:34
帖 子:796
专家分:70
注 册:2020-2-10
收藏
得分:0 
回复 309楼 xianfajushi
您的代码都是VC写的,看不懂,我需要学习,一点也不会VC的。
2021-12-08 11:35
xianfajushi
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:8
帖 子:527
专家分:690
注 册:2007-9-8
收藏
得分:0 
以下是引用ysr2857在2021-4-23 09:22:25的发言:

分治法程序原理,见如下截图:

这是2种分治法原理?挺有意思的,有可能会写一个的。
2021-12-08 15:04
xianfajushi
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:8
帖 子:527
专家分:690
注 册:2007-9-8
收藏
得分:0 
想知道Karatsuba如何计算123*321的步骤
2021-12-08 15:42
xianfajushi
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:8
帖 子:527
专家分:690
注 册:2007-9-8
收藏
得分:0 
想知道Karatsuba如何计算123*32的步骤
2021-12-08 18:25
ysr2857
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:34
帖 子:796
专家分:70
注 册:2020-2-10
收藏
得分:0 
回复 314楼 xianfajushi
我弄的分治法不能提高速度反而减慢了速度,没有可以指教的,请看看283和285楼,高手的点拨!
2021-12-08 21:20
ysr2857
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:34
帖 子:796
专家分:70
注 册:2020-2-10
收藏
得分:0 
回复 313楼 xianfajushi
公式是设abcd都是数字,ab*cd如何乘?乘法有3个a*c,  b*d,   (a+b)*(c+d)

2个减法:(a+b)*(c+d)-a*c-b*d.

错位相加: a*c 00+(a+b)*(c+d)-a*c-b*d  0  +b*d

位数多了就多分几个段,循环这个过程而已。

[此贴子已经被作者于2021-12-8 21:46编辑过]

2021-12-08 21:38
ysr2857
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:34
帖 子:796
专家分:70
注 册:2020-2-10
收藏
得分:0 
回复 314楼 xianfajushi
实际可能是仅仅减少了一步乘法,而增加了两步减法,如果减法速度不快的话就得不偿失,很难提高速度的,我的感觉就是这样的,仅仅供参考,请多看看高手的指点!
2021-12-08 21:42
xianfajushi
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:8
帖 子:527
专家分:690
注 册:2007-9-8
收藏
得分:0 
研究想要达到多少位才满足?如果能提高运算速度又有什么利益?
2021-12-16 10:28
ysr2857
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:34
帖 子:796
专家分:70
注 册:2020-2-10
收藏
得分:0 
回复 318楼 xianfajushi
谢谢您的关注和指导,我的最快速度是几个小时算出来2^n其中的n是几不记得了,是个70万位多一点的数,这个速度是不行的,想要找到巨大的素数和孪生素数对,这个速度不能破解世界纪录。

世界纪录最大的素数是第51个梅森素数,有3千万位。目前发现的最大的孪生素数对是约38万位。
2021-12-17 14:59
ysr2857
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:34
帖 子:796
专家分:70
注 册:2020-2-10
收藏
得分:0 
回复 318楼 xianfajushi
想要破解世界纪录,几十万位,甚至几千万位的整数,其乘法除法都必须在1秒内算一步,甚至更快,在几十毫秒内完成,可能是普通电脑不行?
破解纪录一般都是分布程序,就是并行程序,是成千上万台电脑联网的。

我想用普通电脑,用特殊算法试试,但速度太慢了,不行,不能实现。(特殊算法就是指,仅仅算一步除法,进行初步判断,比如:一般人认为对于梅森数若指数p是4x+3型的奇数,指数p若是素数,且2p+1也是素数,则该梅森数可以被2p+1整除,若是不能整除呢?那就基本可以确定是素数了,这样的情况是很稀少的。比如99368963是个素数,2*99368963=198737927也是素数,2^99368963-1是否能被198737927整除呢?如果不能被整除,那就可能是素数,几乎是确定的。第51个梅森素数没有这个数大呢,如果这个数是素数就是第52个梅森素数。)

谢谢您的支持和指导!欢迎沟通和探讨!
2021-12-17 15:21
快速回复:各位老师好!求助编辑一个大整数的快速乘除法可调用程序
数据加载中...
 
   



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

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