注册 登录
编程论坛 VB6论坛

请求优化或者改写成其他语言的快速程序

ysr2857 发布于 2023-03-02 18:48, 4514 次点击
代码如下:
Public Function tuzis(sa As String) As String 'tuzi shulie
Dim A, B, c
A = Val(sa)
B = 1
B1 = 0
b2 = 1
b3 = 0
Do While B <= A
B1 = b2

s1 = s1 & "/" & Trim(b3)

b2 = b3
b3 = MPC1(Trim(B1), Trim(b2))


B = Val(B + 1)

Loop
tuzis = s1

End Function

Private Sub Command1_Click()
Dim A, B, ak()
A = Val(Text1)
B = tuzis(Val(A))
B1 = ksm2(Val(664))
s105 = Split(B, "/")
   j1 = UBound(s105)
    For k = 1 To j1
      n1 = n1 + 1
       ReDim Preserve ak(1 To n1)
      ak(n1) = s105(n1)
    Next
  For I = 18 To j1 - 3
  A = ak(I)
   B = ak(I + 1)
   c = ak(I + 2)
x = MPC1(MPC1(MbC(Trim(A), Trim(B)), Trim(c)), Trim(B1))
  Y = MPC1(MPC1(MbC(Trim(c), Trim(B)), Trim(A)), Trim(B1))
   z = MPC1(MPC1(MbC(Trim(A), Trim(c)), Trim(B)), Trim(B1))
   X1 = MPC1(Trim(x), 2)
  Y1 = MPC1(Trim(Y), 2)
  z1 = MPC1(Trim(z), 2)
   Do While Val(js) <= 10
   js = Val(js + 1)
   If zhengchuqyushu(MCC(Trim(x), 3)) > 1 Or zhengchuqyushu(MCC(Trim(Y), 3)) > 1 Or zhengchuqyushu(MCC(Trim(z), 3)) > 1 Then
  If nStr(fenjieyinzi0(Trim(x)), "*") = 0 And InStr(fenjieyinzi0(Trim(X1)), "*") = 0 Then
  s = s + 1
  s1 = s1 & "/" & s & " /" & x & "/" & X1 & vbCrLf
  ElseIf InStr(fenjieyinzi0(Trim(Y)), "*") = 0 And InStr(fenjieyinzi0(Trim(Y1)), "*") = 0 Then
  s = s + 1
  s1 = s1 & "/" & s & " /" & Y & "/" & Y1 & vbCrLf
  ElseIf InStr(fenjieyinzi0(Trim(z)), "*") = 0 And InStr(fenjieyinzi0(Trim(z1)), "*") = 0 Then
  s = s + 1
  s1 = s1 & "/" & s & " /" & z & "/" & z1 & vbCrLf
  Else
  s = s
  End If
  End If
  x = MPC1(Trim(x), 2)
  Y = MPC1(Trim(Y), 2)
  z = MPC1(Trim(z), 2)
  X1 = MPC1(Trim(x), 2)
  Y1 = MPC1(Trim(Y), 2)
  z1 = MPC1(Trim(z), 2)
Loop
  Next
  
If s > 0 Then
Text2 = s1
Else
Text2 = "wu  jie"
End If
End Sub

Private Sub Command2_Click()
Text1 = ""
Text2 = ""

End Sub

Private Function ksm2(sa As String) As String '2的快速幂程序
Dim A, B
A = Val(2): B = sa
If B = 1 Then
ksm2 = A
ElseIf B = 0 Then
ksm2 = 1
Else
a1 = A
Do While B > 1
s = Int(Log(B) / Log(2))
s1 = 0
Do While s1 < s
A = MbC(Trim(A), Trim(A))
s1 = s1 + 1
Loop
a2 = A
B = B - 2 ^ s
A = a1
If s2 > 0 Then
a3 = MbC(Trim(a3), Trim(a2))
Else
a3 = a2
End If
s2 = s2 + 1
Loop
If B = 1 Then
ksm2 = MbC(Trim(a3), Trim(a1))
Else
ksm2 = a3
End If
s3 = Len(ksm2)
ksm2 = ksm2
End If


End Function
49 回复
#2
ysr28572023-03-02 19:04
原理:一个小素数(或者合数)加上一个大偶数(这里采用2^n的偶数)就可以得到巨大的素数或者孪生素数,举例如下:
/1 /73786976357262128867/73786976357262128869(这就是此法得到的一对孪生素数,前面的1是序号,/号算是间隔号)
 
/1/1152921504606885899/1152921504606885901
/2/1152921504606888257/1152921504606888259
/3/1152921504606895097/1152921504606895099(这3对孪生素数也是此法得到的)

/1 /76545051729020975577310162521900618820659871603466655644272117978380005723696097587725184512638784526308634214455061267843403507870735540391292521535824647434568377082591826884769598224146796862139607
这个大素数也是此法找到的,兔子数列某3项由蔡氏法构成的数45771991(该数是合数就是45771991=4729*9679不是素数,而是个合数,前面的1是序号)加上个大偶数形成的大素数,大约200位

小数据里面此法得到的素数和孪生素数的概率很高,大数据里面由于程序速度慢搜索范围不能太宽,所以,搜索范围窄的原因还没哟谱找出来大孪生素数,所以,要改进程序,提高速度。

欢迎沟通探讨,共同进步,谢谢您的指导!

这样的数据在其附近的素数和孪生素数是很多的,比如 :

45771991~45772091之间的素数有8个:(用时1.757813E-02秒)
45772003  45772009  45772033  45772037  45772039  45772057  45772061  45772087  
其中有一对孪生素数就是45772037  45772039
#3
mrexcel2023-03-02 22:21
Select[Range[45771991, 45772091, 2], PrimeQ[#] && PrimeQ[# + 2] &]
#4
mrexcel2023-03-02 22:22
Select[Range[45771991, 45772091, 2], PrimeQ[#] &]


{45772003, 45772009, 45772033, 45772037, 45772039, 45772057, 45772061, 45772087}
#5
mrexcel2023-03-02 22:25
Select[2^300 + Range[1, 99999, 2], PrimeQ[#] && PrimeQ[# + 2] &]


{2037035976334486086268445688409378161051468393665936250636140449354381299763336706183404997,2037035976334486086268445688409378161051468393665936250636140449354381299763336706183418029,2037035976334486086268445688409378161051468393665936250636140449354381299763336706183449367,2037035976334486086268445688409378161051468393665936250636140449354381299763336706183457221,2037035976334486086268445688409378161051468393665936250636140449354381299763336706183472479}
#6
mrexcel2023-03-02 22:27
楼主研究大素数建议学习MATHEMATICA,5楼的结果秒出
#7
mrexcel2023-03-02 22:30
Select[Range[1, 99999, 2],

 PrimeQ[2^800 + #] && PrimeQ[2^800 + # + 2] &]


返回 {25051}
2^800 +25051 与 2^800 +25053是一对孪生素数
#8
ysr28572023-03-03 00:42
/1 /24917830127/24917830129
/2 /63497664521/63497664523
/3 /24917830277/24917830279

谢谢您!好的,精彩!给你点赞!
#9
ysr28572023-06-21 23:17
只有本站会员才能查看附件,请 登录
只有本站会员才能查看附件,请 登录
只有本站会员才能查看附件,请 登录
只有本站会员才能查看附件,请 登录

谁知道这个出版社是否是正规出版社,如何验证?

说是搞活动呢,活动挺好,可惜咱没有那么多闲钱啊!

由于身体原因,目前我只能干些轻松的活儿,但是工资很低啊!

如果有钱,当今社会,爱好者的成果也还是可以发表一下的!
#10
ysr28572023-06-22 10:36
发一下我的书稿吧,里面也又部分vb代码:
只有本站会员才能查看附件,请 登录
#11
独木星空2023-06-22 15:30
现在这个网络时代,只要你好奇,注册一个电话号码,那就会有很多无聊的电话打进来,不论真假,不知目的,总之,要小心识别,不要被坑了就是。
#12
ysr28572023-06-23 02:12
回复 11楼 独木星空
谢谢!就是你说的,我就是无意看到了一个广告好像是本地的,就添了姓名电话了。
结果就收到了好多电话,不是本地的,也有本地的,有的问我出书要求价格啥段位,我说是不超过1万,结果人家直接说出不了就挂了,有的给我讲了流程和规则还有价格啥的,我就没主意了。
经济实力不行,要不早就发表和出版了。
我已经出版了两次了,数量不多没有影响力,仅仅个别朋友主动要了两本都是主动付钱了连邮费都付了。
爱好者没有钱的话真的不容易,更别说和“专家”“大师”联系了。

王元院士那样的谦虚认真事实求是的科学家都去世了,中国还有大师吗?

当初我搞出点儿成果的时候陈景润院士去世了,后来老师说王元院士也是搞数论的数学家,经过联系人家说是已经退休早不搞数学了且有病,很客气的,让我跟其他数学家联系。

当我第一次出书的时候,王元院士去世了,可惜,缅怀前辈德高望重的数学家!

[此贴子已经被作者于2023-6-23 02:14编辑过]

#13
ysr28572023-06-23 02:23
回复 11楼 独木星空
我出版的那两次书号很便宜,才1500元,国际书号,这次他们说那都是免费的书号,没有用上不了书店的书架,那我只有自己留着做纪念了,或者送朋友了。我第一次出版的都是免费送别人了,个别朋友给我发红包了付费了。第二次的没有送人仅仅个别朋友要了两本,也都是付费的。
剩余的自己留着,反正数量不多,将来后代没人看了当废纸卖掉也许可以卖点儿钱,那也算是论文的价值吗?

[此贴子已经被作者于2023-6-23 02:57编辑过]

#14
风吹过b2023-06-24 13:08
拜读了一下,表示水平太差,看不懂。

只提二个版面方面的 意见
一、标点符号中英文混用。
如 正文第一页: 1,素数:我们把像 2,3,5,7,……,这样除了 1 和本身不能被其他数整除的整数叫素数,又叫质数。
这里面,2后面是中文逗号,3、5后面是英文逗号,这种的情况在文章中反复出现。还有有些地方,写作 2,3这类的,有些地方写作2、3 为类,前后不统一。
还有英文冒号问题、英文括号问题。

二、代码排版问题。
1、代码缩进问题,请严格按照代码缩进标准弄吧。
2、还有,变量定义问题,VB6规定没有明确指定变量类型的都是被定义为 Variant ,出版的话,也请严谨的给出变量类型吧,那怕给个 Variant 也是好的。
3、已成书稿了,那么代码中无意义的空行请删除吧,还有 debug 也请一并删了吧。
4、代码注释问题,关键代码段需要注释,读者不会有那么多时间认真去读的你代码来分析这个代码具体是做什么,特别缩进不标准的代码谁都不愿静态分析的看。你代码里注释有些注释的很详细,但大部分代码都基本上没有注释。
   代码注释分二种,一种是 功能注释,占据一行,表示后面的代码段实现此功能。
   一种是语句代码, 写在代码 的后面,表示 这行代码实现什么或需要为什么要写一句,或其他需要的说明等等 。
5、变量注释。凡是定义为简单变量,如 i、j、m、n、x、t、s  这种的,如果只用作循环变量什么的,那还罢了,如果用于保存数据,就一定要写注释,说明这个变量用于做什么的。

---------------
佩服做学问的人,自己不是这块材,只能找些不是学问上的小毛病
#15
ysr28572023-06-24 15:02
回复 14楼 风吹过b
您说的都很对,谢谢!我自己弄的不好,排版不行尤其数学公式的排版,都是写成通用格式,避免数学符号,避免不了的手写拍成图片了,最认真的一次编辑是申请著作权的时候,专利局的律师认真给我编辑了一下,编辑后版面压缩了不少,减少了很多页,后来我又补充进去一些数据,字体格式和其他的不一致了。

自费出书的,出版的时候印刷厂没有重新编辑,直接印了。

除了文字内容方面的错误,我也不准备改了,经济实力不行,不准备再版了。
如果以后经济条件好了或者出版价格降了或其他机会也许会出版,以上问题需要修改的到时候再改吧!
比如标点符号的英文和中文混用的问题,正规出版社可能人家会重新排版编辑和修改的。内容和文字的错误,我只要发现了会随时修改的。即使没人重视也要留一个满意的版本。

非常感谢朋友的指导!
#16
ysr28572023-06-24 15:15
回复 14楼 风吹过b
关于VB代码的问题,您很专业,我是业余的,我的代码收录的理念是只要人家喜欢这个代码只要人家在电子版书稿中复制粘贴过去能够正常运行就好。
缩进格式和注释确实是有问题,好在VB程序中对这方面的要求是很宽泛的,做的不好也不影响程序运行,对我这样的初学者和业余爱好者这一点儿很好。但只要咱懂了,学到了这些知识有空了一定改进。

谢谢朋友,您费心了!欢迎沟通交流,欢迎批评指导!
#17
独木星空2023-06-24 21:41
这才是,应有的氛围。
#18
ysr28572023-06-25 00:18
回复 17楼 独木星空
谢谢朋友长期的关注,以及鼓励和指导!
#19
ysr28572023-10-11 22:02
回复 14楼 风吹过b
标点符号的中英文混用等问题,我重新编辑订正了一下,准备发给出版社的编辑,先在这里发一下吧:
只有本站会员才能查看附件,请 登录
#20
ysr28572023-11-03 21:53
只有本站会员才能查看附件,请 登录
只有本站会员才能查看附件,请 登录
只有本站会员才能查看附件,请 登录
只有本站会员才能查看附件,请 登录
人家出版社的编辑老师终于给我看完了,初步进行了编辑修改,订正比较认真,数学公式不规则的给改正了,语句不通顺的也进行了修改,真的很辛苦,大约弄了三个月了。
今天返还给我了,我再订正补充一下就可以交给出版社尽快出版了。

#21
ysr28572023-11-05 21:24
只有本站会员才能查看附件,请 登录
只有本站会员才能查看附件,请 登录
只有本站会员才能查看附件,请 登录
只有本站会员才能查看附件,请 登录
只有本站会员才能查看附件,请 登录
只有本站会员才能查看附件,请 登录
如下是修改后的文档的部分截图,基本上修改完了,我再看看就准备返还给编辑了:




[此贴子已经被作者于2023-11-5 21:26编辑过]

#22
ysr28572023-11-08 21:26
准备再次出版的《数论探秘》的自己修订好的稿件,算是底稿,出版社的编辑修改是以此为基础的,这里暂时发一下储存一下以便校对:
只有本站会员才能查看附件,请 登录


[此贴子已经被作者于2024-2-19 13:13编辑过]

#23
ysr28572023-11-09 02:57
回复 22楼 ysr2857
这个稿件是在19楼的稿件上改了一些数字,如下图:
只有本站会员才能查看附件,请 登录
只有本站会员才能查看附件,请 登录
#24
ysr28572023-12-23 17:02
大整数的素性测试(就是判断质数),我们有的是快速和确定性的方法,可惜人家没有人重视,用得着啥伪素数(伪质数)?除了合数和1就是素数(也叫质数)哪里有啥伪质数(就是伪素数)了?

http://www.

http://www.
#25
ysr28572023-12-23 17:20
http://www.
#26
独木星空2023-12-25 17:18
今天刚才到您的帖子发了疑问?为什么不能登录,点了以前的一个连接,终于又可以登录了。没有学了,数学在线那个网站,从那次以后消失了。
#27
ysr28572023-12-27 08:14
回复 26楼 独木星空
可能是某些时间段不行,其他时间段可以,不知道咋回事,可能是某些时间段太忙太慢打不开了吧?
#28
独木星空2024-04-05 18:48
已经好久没有登录了,今天打开浏览器搜索,页面增多了,感觉有可能好了,就从你原来的《数论探秘》第三版准备再次出版了
http://www.
(出处: 数学中国)
三楼链接打开了。
谢天谢地!
#29
cuituo2024-04-06 06:47
第一次进数学论坛
#30
ysr28572024-04-06 06:50
回复 29楼 cuituo
欢迎探讨和沟通,欢迎交流和推广普及,弘扬科学精神!
#31
独木星空2024-04-06 09:41
回复 29楼 cuituo
数学与编程是亲密战友,有着千丝万缕的联系。
#32
ysr28572024-04-07 07:21
准备投稿《现代教育进展》期刊的压缩后的文档(已经压缩到4341字,要求是4500字原来是6616字):
只有本站会员才能查看附件,请 登录
#33
ysr28572024-04-09 23:40
已经被证明的定理就是客观规律,就等于是客观事实,即使放在那里几百年也是不会改变的。再说不可能就没意思了。
我的证明虽然没有发表(我已经整理成书自费出版了一本《数论探秘》),没有得到专家的承认,但事实不会改变,定理就是客观的事实,总有一天人类会明白这个道理,而把这个简单的东西当成世界级难题到那个时候就会觉得可笑了。真理不能发表是可悲的,不能让“后人复哀后人矣”。
当然,如果你对别人的证明有疑点是可以质疑的,如果发现了证明有错误,你是可以用事实和严格的逻辑推理来反驳和推翻的,但是不能用猜想去反驳。那你自己倒是可笑的,尤其人家“专门家”承认的东西,比如陶哲轩证明的那个东西。当然我也不知道他的证明过程对不对,结论是对的,那个东西初等数学就可以证明的。
张益唐的关于孪生素数猜想的证明我也没有见到,那个结论是对的,证明过程对不对咱也不知道,咱也不管他。孪生素数猜想并不难,我已经证明了,那就是个定理了。吹半天也没有用,不过在我眼里他那个东西没有价值。
我已经证明差为2,4,6,……,2n的素数对,都是无穷多的。
孪生素数对就是差为2的素数对,所以,孪生素数对是无穷多的,孪生素数猜想就是成立的。猜想内容就是说是孪生素数是无穷多的。张益唐说的差为7000万内的素数对可以有无穷多,在我这儿没有意义,没有价值。管他啥方法呢,方法越高级理论越高等越可笑了。
#34
独木星空2024-04-21 09:50
还好,这会间隔的不多。又能登陆了。
#35
独木星空2024-04-22 08:55
每天能正常登录是一件很高兴的事。20240422日
#36
ysr28572024-05-30 08:05
a1=300 s=36
a=1 b=1 x=2
a=1 b=8 x=9
a=1 b=27 x=28
a=1 b=64 x=65
a=1 b=125 x=126
a=1 b=216 x=217
a=8 b=1 x=9
a=8 b=8 x=16
a=8 b=27 x=35
a=8 b=64 x=72
a=8 b=125 x=133
a=8 b=216 x=224
a=27 b=1 x=28
a=27 b=8 x=35
a=27 b=27 x=54
a=27 b=64 x=91
a=27 b=125 x=152
a=27 b=216 x=243
a=64 b=1 x=65
a=64 b=8 x=72
a=64 b=27 x=91
a=64 b=64 x=128
a=64 b=125 x=189
a=64 b=216 x=280
a=125 b=1 x=126
a=125 b=8 x=133
a=125 b=27 x=152
a=125 b=64 x=189
a=125 b=125 x=250
a=125 b=216 x=341
a=216 b=1 x=217
a=216 b=8 x=224
a=216 b=27 x=243
a=216 b=64 x=280
a=216 b=125 x=341
a=216 b=216 x=432
其中x=a+b,且a和b均为3次方数。
通过以上数据可以看出来,a,b和a+b之中总有两个是3,4,5,……,n次相邻数(这需要严格证明的,用初等方法就可以证明的,应该容易证明的用二重数学归纳法就可以),所以,a,b和a+b三者不会同时为3,4,5,6,……,n次方数。所以,费马方程的解只能在勾股数中找了,勾股数中没有就没有了。
#37
ysr28572024-05-30 08:07
如下为多次修改和订正的文档《数论探秘》(有机会了再出版一次吧,出版界水深有正规出版社有不太正规的,还有的是中介,难辨真假,投资有风险自费出版需谨慎)(我的新版国际书号还在等待引进国内发行呢):
只有本站会员才能查看附件,请 登录
#38
ysr28572024-05-30 08:58
费马方程X^n+Y^n=z^n,当n>=3时,若没有非0的整数解,也就不会有非0的有理数解,因为:设X^n,Y^n和z^n的分母分别是a^n,b^n和c^n,则同乘以a^n*b^n*c^n就可以变为整数解了。
#39
ysr28572024-06-02 08:37
我的《数论探秘》国际书号引进成功,可能即将再各大书店发行,敬请朋友浏览指导!

已经收到10本样书!有需要的给我个成本价(20元)并给我个邮寄地址我就给你奉上样书一本,谢谢朋友支持和鼓励!
我的电话:15032042211
只有本站会员才能查看附件,请 登录
#40
独木星空2024-06-09 17:39
朋友来网站也少。
#41
ysr28572024-06-10 06:55
回复 40楼 独木星空

我是忙于联系发行公司准备上架销售我的新版《数论探秘》了,谢谢关注和支持!
#42
ysr28572024-06-23 17:35
回复 39楼 ysr2857
得到发行公司通知,我的《数论探秘》即将在线上线下各个平台和书店发行,欢迎朋友结缘惠顾!(前面发的样品封面错了一个字,人家重新给我印发了10本样品,欢迎朋友联系购买)
#43
独木星空2024-07-22 18:16
今天又能登陆了,20240722日周一,农历六月十七
#44
ysr28572024-07-25 08:23
s=1   25108406941546723055343157710736230392633162073997070831071这是一个59位的素数,我的程序效率不高还是不到1分钟就算出来了,所以,找到了高概率的公式或方法,找到一个有密码特征的大素数是很容易的,这样的大素数可以使得RSA公钥密码更方便安全和强大。
我的书中对这个方法做了介绍。(技术保密没有发原程序,但快速判断大素数的程序发出来了,是我自己编的程序,数学原理书中也做了介绍)
#45
ysr28572024-07-29 22:43
只有本站会员才能查看附件,请 登录


[此贴子已经被作者于2024-8-3 06:46编辑过]

#46
ysr28572024-08-21 08:17
加强筛连乘积公式结果: 偶数134560842621442  其方根内最大素数11600033 方根内的素数个数m=763458 (方根为)11600036.3198329  有763457个区间,其中每个区间哥猜解素数对个数的平均值117702.465586146  总对数为89860771269.0022方根内的解的个数为9123.10714950196。

89860771269就是接近实际值的下限个数
#47
ysr28572024-08-21 08:33
加强筛(是过度筛选)连乘积结果是没有增根的(就是没有正向误差,就是没有大于实际的个数),如加强筛连乘积公式结果: 偶数2023022488888  其方根内最大素数1422293 方根内的素数个数m=108650 (方根为)1422329.95078076  有108649个区间,其中每个区间哥猜解素数对个数的平均值16016.1344207358  总对数为1740136988.67852方根内的解的个数理论最低值为1475.51865828173.偶数2023022488888的实际哥德巴赫猜想解个数为1792088879.
#48
ysr28572024-08-21 12:20
连乘积加强筛结果只是接近于实际的下限解的个数,需要证明没有证明的只能是猜想,而我的绝对下限公式是严格证明的,远远低于实际的解的个数,是定理,是可以用于证明的,证明哥德巴赫猜想是远远成立的。
如:对于偶数134560842621442,用绝对下限公式计算的结果如下:
√( 134560842621442 ) =11,600,036.319832882316353474644975,
11600036   ÷   ln( 11600036 )-1 =713,123.45139681634548871490631364-1=713,122.45139681634548871490631364,
这是绝对下限,远远低于实际的,低于前面的加强筛(过度筛)连乘积结果,所以,哥德巴赫猜想远远成立。


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

#49
ysr28572024-08-22 19:09
哥德巴赫猜想并不难,有多种初等证明方法可以证明,哥德巴赫猜想是远远成立的。
1,由差定理(更容易证明)证明和定理(就是哥德巴赫猜想)成立。
2,设偶数2A的方根为M则其方根M内的素数的个数的下限是m=M/lnM,则偶数2A的哥德巴赫猜想解的个数的绝对下限就是m-1,这是对无穷大的偶数都成立的,随着偶数的增大实际解的个数远远大于m-1 , 所以,哥德巴赫猜想远远成立。
3,据构成哥德巴赫猜想解的素数与偶数的方根的大小,把解分为两类:小根拆和大根拆,大于4的偶数,仅仅有73个偶数只有大根拆而不含有小根拆,其他的都是既有小根拆也有大根拆,而4=2+2.

所以,哥德巴赫猜想远远成立,容易证明,仅仅初等数学就可以证明,中学以上的学历都i可以完全解决。

至今不能解决的原因仅仅有两个:一是数学家喜欢本末倒置从解析数论下手解决问题,二是中国数学界到处是汉奸洋奴才等破环了中国数学界的学术氛围!!


[此贴子已经被作者于2024-8-22 19:12编辑过]

#50
独木星空2024-10-25 15:00
从上次的2024年9月18日,到今天2024年10月25日从新登录,间隔一个月零一周。
1