| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 30773 人关注过本帖
标题:各位老师好!求助编辑一个大整数的快速乘除法可调用程序
只看楼主 加入收藏
wmf2014
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:216
帖 子:2039
专家分:11273
注 册:2014-12-6
收藏
得分:0 
回复 70楼 ysr2857
给你的代码加了个运行时间输出,你这个判断54位的素数时间太长了,需要78秒,我记得我的那个判断300位十进制数是否为素数用时不超过10毫秒。
程序代码:
Private Sub Command1_Click()
Dim a, n
Dim t As Double
t = Timer
n = Trim(Text1)
If Len(n) < 6 Then
Text2 = fenjieyinzi(Trim(n))
Else
n1 = MPC(Trim(n), 1)
a = 123
'a为明文
a1 = zzxc(Trim(n), Trim(a))
If Val(a1) > 1 Then
Text2 = a1 & "*"
Else
c = 999
'c为公钥
Do While zzxc(Trim(n1), Trim(c)) > 1
c = Val(c - 1)
Loop
d = qniyuan(Trim(c), Trim(n1))
'd为逆元为私钥
a2 = qksmimo(Trim(a), Trim(c), Trim(n))
'a2为密文
a3 = qksmimo(Trim(a2), Trim(d), Trim(n))
If MBJC(Trim(a3), Trim(a)) = 0 Then
Text2 = "这是素数有" & Len(n) & "位,用时" & Timer - t & ""
Else
Text2 = "2*2"
End If
End If
End If
End Sub


图片附件: 游客没有浏览图片的权限,请 登录注册

能编个毛线衣吗?
2020-02-16 18:12
ysr2857
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:34
帖 子:809
专家分:77
注 册:2020-2-10
收藏
得分:0 
很好!是的,我的程序效率低,所以要搞出快速版大数运算程序。谢谢!希望您能给予指导!
与常规法验证比较举例:(这个程序仅仅是判断不做分解因数)
输入9999997,输出2*2,就是说是合数。
常规法:9999997=7*1428571。
输入1428571,输出:这是素数有7位。
常规法:1428571,这是个素数.
2020-02-16 18:29
ysr2857
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:34
帖 子:809
专家分:77
注 册:2020-2-10
收藏
得分:0 
欢迎给予指导!欢迎给出快速乘法除法程序!祝各位老师朋友新春愉快!
2020-02-17 09:48
ysr2857
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:34
帖 子:809
专家分:77
注 册:2020-2-10
收藏
得分:0 
介绍一下素数的判定原理方法:常规法是把整数的方根内的素数都试除一下,不能整除的就是素数。速度太慢。
筛法:把某数内的整数编号,把其方根内的素数的倍数去掉而剩下的是素数,效率高,占内存,不能算的太多。
拉宾-米勒法:利用费马定理,多试几个素数,也是利用前面用到的快速幂模程序,速度快概率高,而不是确定性的,有限个内人们知道某些数是会漏掉,可以排除,太大的数就不确定虽然概率高也是不确定性的算法。
还有一种是叫AKS算法:是确定性的,是三位顶级高手,顶级数学家搞出来的,是外国人。速度快,确定性的,可以计算大整数,但原理复杂,不容易实现,非高手编不了程序。我也理解不了具体原理。

前面的方法,比拉宾米勒靠谱,比AKS方便,是不是我的首发?不知道。
原理容易实现,我已经做出来了程序,但我的程序用到的大数计算程序速度慢,是用低效的程序做高效工作,凭的优良的数学原理方法和简捷的步骤,所以要做个快速乘法除法程序,这样就快速方便了。咱不图名不图利,自己方便感兴趣的朋友用到的方便,就好!
欢迎感兴趣的沟通探讨,欢迎给出快速乘法除法程序。

[此贴子已经被作者于2020-2-17 15:29编辑过]

2020-02-17 15:20
ysr2857
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:34
帖 子:809
专家分:77
注 册:2020-2-10
收藏
得分:0 
我有个加解密软件,原理方法是与前面的体制完全不同的,是采用了随机密码或叫伪随机密码,密码规则是伪随机的,用于加密文本文件。同一个文件每点击一次产生的密文是不同的,不能用无穷枚举法,概率法等暴力攻击法破解的,不知道有没有用,起码可以当智力游戏玩,或朋友间密码通信(游戏活动),有感兴趣的朋友我可以发一下。
2020-02-17 17:24
smitest
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2020-2-17
收藏
得分:0 
qq347895961联系
2020-02-17 21:30
ysr2857
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:34
帖 子:809
专家分:77
注 册:2020-2-10
收藏
得分:0 
回复 76楼 smitest
搜索不到,是qq还是微信?
2020-02-18 01:19
ysr2857
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:34
帖 子:809
专家分:77
注 册:2020-2-10
收藏
得分:0 
回复 71楼 wmf2014
您好!有qq或微信吗?欢迎联系!大整数的快速乘法除法程序至今我也弄不出来,请帮忙!
2020-02-18 10:23
wmf2014
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:216
帖 子:2039
专家分:11273
注 册:2014-12-6
收藏
得分:0 
回复 78楼 ysr2857
这两天要参加疫情防控,每天都要值班十小时以上,没精力弄。
今天休息,弄了下,仅仅在修改大数加减乘的情况下,就可以做到20秒完成,比你的速度快尽4倍,但除法无法达到要求。经调试你的除法,发现你输出结果包含余数,也按照你的要求输出余数,仍然得不到正确结果,我反复测试我的除法没问题的,是不是你的除法还包含了其他输出功能?
图片附件: 游客没有浏览图片的权限,请 登录注册

能编个毛线衣吗?
2020-02-18 12:18
ysr2857
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:34
帖 子:809
专家分:77
注 册:2020-2-10
收藏
得分:0 
回复 79楼 wmf2014
谢谢!已经不错了,辛苦了!我的除法没有其它功能,只是分类计算的,比如除数小于8位的就转为MCC()了。可能是这样吧,也是调试多少次多种类型才弄对的,有的类型过不去正常,只是一时找不到哪里错,慢慢会找到的,你可以重新编个除法程序,谢谢!
2020-02-18 12:33
快速回复:各位老师好!求助编辑一个大整数的快速乘除法可调用程序
数据加载中...
 
   



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

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