数学中国

 找回密码
 注册
搜索
热搜: 活动 交友 discuz
查看: 16358|回复: 260

几个vb小程序

[复制链接]
发表于 2020-2-18 13:26 | 显示全部楼层 |阅读模式
这个网站上不来,手机都难打开,电脑根本打不开,终于上来了,说两句:
我的程序发中国博士网数学论坛了,请感兴趣的朋友去那里点击试用!欢迎探讨沟通!

有偶数的实际拆分素数和对的程序,有个三角函数计算程序,有个大整数的+-*/程序,除法输出的是“商/余数”,/号后面的是余数。
 楼主| 发表于 2022-8-21 14:32 | 显示全部楼层
求某数列中的最小值的可调用程序:
Private Function min(ByVal lists As String) As String
Dim temp As Long
Dim a() As String
a = Split(lists, "/")
Dim b As Long
temp = a(0)
For b = 0 To UBound(a)
If temp > a(b) Then temp = a(b)
Next
min = temp
End Function
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-8-21 14:34 | 显示全部楼层
求某数列中的最大值的可调用程序:

Private Function max(ByVal lists As String) As String
Dim temp As Long
Dim a() As String
a = Split(lists, "/")
Dim b As Long
temp = a(0)
For b = 0 To UBound(a)
If temp < a(b) Then temp = a(b)
Next
max = temp
End Function
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-8-31 14:23 | 显示全部楼层
快速求某数的乘幂代码:

Private Function qxdcm(sa As String, sb As String) As String

Dim a, b
a = sa: b = sb
If b = 1 Then
qxdcm = a
ElseIf b = 0 Then
qxdcm = 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
qxdcm = MbC(Trim(a3), Trim(a1))
Else
qxdcm = a3
End If

End If

End Function
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-10-24 17:20 | 显示全部楼层
本帖最后由 ysr 于 2022-10-24 09:34 编辑

Private Sub Command1_Click()
Dim a, b
a = Val(Text1)
m = Sqr(a)
a1 = 3
s = 0
Do While a1 <= m
b = a - a1
c = fenjieyinzi(Val(a1))
d = fenjieyinzi(Val(b))
If InStr(c, "*") = 0 And InStr(d, "*") = 0 Then
s = s + 1
Print a1, "+", b
Text2 = Text2 & CStr(a1) & "+ " & CStr(b) & vbCrLf
Else
s = s
End If
a1 = a1 + 2
Loop
a2 = a1
s1 = s
Do While a2 <= a / 2
b1 = a - a2
c1 = fenjieyinzi(Val(a2))
d1 = fenjieyinzi(Val(b1))

If InStr(c1, "*") = 0 And InStr(d1, "*") = 0 Then
s1 = s1 + 1
Print a2, "+", b1
Text2 = Text2 & CStr(a2) & "+ " & CStr(b1) & vbCrLf
Else
s1 = s1
End If
a2 = a2 + 2

Loop
Combo1 = a & "的方根为" & m & "," & "方根内有" & s & "个总数有" & s1 & "个:" & a & "=" & Text2



End Sub

Private Sub Command2_Click()
Text1 = ""
Text2 = ""
Combo1 = ""
End Sub
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-10-24 17:36 | 显示全部楼层
Private Sub Command1_Click()
Dim a, b
a = Val(Text1)
m = Sqr(a)
m1 = Int(m)
a2 = m1
a1 = 3
s = 1
b = 1
Do While a2 <= m And InStr(fenjieyinzi(Val(a2)), "*") <> 0
a2 = a2 - 1
Loop
Do While a1 <= a2
c = fenjieyinzi(Val(a1))
If InStr(Trim(c), "*") = 0 Then
s = s + 1
b = b * Val(1 - 2 / a1)
Else
s = s
End If
a1 = a1 + 2
Loop
b2 = (a2 ^ 2 / 4) * b
b1 = (a / 4) * b
If s = 1 Then

Text2 = " 连乘积公式结果: 偶数" & a & "  其方根内最大素数" & a2 & " 方根内的素数个数m=" & s & "  每m-1个中的平均值" & b2 / s - 1 & "  总个数为" & b1
Else
Text2 = " 连乘积公式结果: 偶数" & a & "  其方根内最大素数" & a2 & " 方根内的素数个数m=" & s & "  每m-1个中的平均值" & b2 / (s - 1) & "  总个数为" & b1
End If

End Sub

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

End Sub
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-12-18 22:06 | 显示全部楼层
Public Function jie3cifc(a2 As String, b2 As String, c2 As String, k2 As String, sd As String) As String '3次方程
a3 = mcc2(Trim(a2), Trim(k2), Val(sd))
b3 = mcc2(Trim(b2), Trim(k2), Val(sd))
c3 = mcc2(Trim(c2), Trim(k2), Val(sd))


   
   
   ' m = 36 * Val(ja) * Val(jb) - 8 * Val(ja) ^ 3 - 108 * Val(jc)
   If mbjc2(Trim(a3), 0) = 0 And mbjc2(Trim(b3), 0) = 0 Then
   m = mbc2(-108 & String(sd, "0"), Trim(c3), Val(sd))
   
   n4 = qdfh(mbc2(Trim(m), Trim(m), Val(sd)))
   Else
   
   m1 = mbc2(mbc2(Trim(a3), Trim(b3), Trim(sd)), Val(36) & String(sd, "0"), Val(sd))
   m2 = mbc2(mbc2(mbc2(Trim(a3), Trim(a3), Trim(sd)), Trim(a3), Val(sd)), Val(8) & String(sd, "0"), Val(sd))
   m3 = mbc2(Trim(c3), Val(108) & String(sd, "0"), Val(sd))
   m = mpc2(mpc2(Trim(m1), Trim(m2)), Trim(m3))
  Print "m="; m
  
'n1 = Val(m) ^ 2 + (12 * Val(B) - 4 * Val(A) ^ 2) ^ 3

  n1 = mbc2(Trim(m), Trim(m), Val(sd))
    n2 = mpc2(mbc2(Trim(b3), Val(12) & String(sd, "0"), Val(sd)), mbc2(mbc2(Trim(a3), Trim(a3), Val(sd)), Val(4) & String(sd, "0"), Val(sd)))
     n3 = mbc2(mbc2(Trim(n2), Trim(n2), Val(sd)), Trim(n2), Val(sd))
     n4 = mpc3(Trim(n1), Trim(n3))
     End If
     fn4 = fhys(Trim(n4))
    n5 = mbbc2(qqdl(qdfh(Trim(n4))), Val(sd))
   Print "n5="; n5
   
    'If n1 < 0 And m < 0 Then
    If Val(fn4) < 0 And Val(fhys(Trim(m))) < 0 Then
    'n=(93312R^6+311040R^5+285120R^4+221824R^3+27020R^2+3712R+320)^(1/2)
    'a=-(2+81k)
    'm=216r^3+360r^2+128r-8
    'k=(n^2/m^2)/27
    ''a1=(M/8*(9t-1))^(1/3),,b1=a1*(t)^(1/2)
    '令m=19683N^6+1215N^4M^2+17N^2M^4-M^6,
'm1=243N^4+3N^2M^2+M^4,
'n=(m^2-m1^3)^(1/2),
'则:t=(((m+n)^(1/3)+(m-n)^(1/3))+(2*M^2+3*N^2))/(3*M^2),
''其中M≠m,N≠n,
   jq = mbbc3(mbbc2(qqdl(MPC1(mbc2(qdfh(Trim(m)), qdfh(Trim(m)), Val(sd)), mbc2(qdfh(Trim(n5)), qdfh(Trim(n5)), Val(sd)))), Val(sd)), Val(sd))
   jq3 = mcc2(Trim(n5), Trim(m), Val(sd))
   jq1 = jsfanzq(mcc2(Trim(n5), Trim(m), Val(sd)), Val(sd))
   Print "jq3="; jq3
   Print "jq1="; jq1
   q1 = mbc2(Trim(jq), jsyuxian(mcc2(Trim(jq1), 3 & String(sd, "0"), Val(sd)), Val(sd)), Val(sd))
   
   Print "q1="; q1
   
   If Val(fhys(Trim(q1))) > 0 Then
  q = tjfh(Trim(q1), Val(-1))
  Else
  q = qdfh(Trim(q1))
  End If
   jq3 = mbbc2(MPC(1 & String(sd, "0"), mbc2(jsyuxian(mcc2(Trim(jq1), 3 & String(sd, "0"), Val(sd)), Val(sd)), jsyuxian(mcc2(Trim(jq1), 3 & String(sd, "0"), Val(sd)), Val(sd)), _
   Val(sd))), Val(sd))
   jq2 = tjfh(Trim(jq3), Val(-1))
   Print "jq2="; jq2
   
   qa = mbc2(Trim(jq), Trim(jq2), Val(sd))
   p = q
   pa = qa
  Else
  'If n1 < 0 And m > 0 Then
If Val(fn4) < 0 And MBJC(qdfh(Trim(m)), 0) > 0 Then

jq = mbbc3(mbbc2(qqdl(MPC1(mbc2(qdfh(Trim(m)), qdfh(Trim(m)), Val(sd)), mbc2(qdfh(Trim(n5)), qdfh(Trim(n5)), Val(sd)))), Val(sd)), Val(sd))
   jq1 = jsfanzq(mcc2(Trim(n5), Trim(m), Val(sd)), Val(sd))
   jq3 = mcc2(Trim(n5), Trim(m), Val(sd))
   q = mbc2(Trim(jq), jsyuxian(mcc2(Trim(jq1), 3 & String(sd, "0"), Val(sd)), Val(sd)), Val(sd))
   jq2 = mbbc2(MPC(1 & String(sd, "0"), mbc2(jsyuxian(mcc2(Trim(jq1), 3 & String(sd, "0"), Val(sd)), Val(sd)), jsyuxian(mcc2(Trim(jq1), 3 & String(sd, "0"), Val(sd)), Val(sd)), _
   Val(sd))), Val(sd))
   Print "jq3="; jq3
   Print "jq1="; jq1
   Print "q"; q
   Print "jq2="; jq2
   qa = mbc2(Trim(jq), Trim(jq2), Val(sd))
   p = q
   pa = qa
Else
'If Val(m) + Val(n2) < 0 Then
If fhys(mpc3(Trim(m), Trim(n5))) = -1 Then
p = "-" & mbbc3(qdfh(mpc3(Trim(m), Trim(n5))), Val(sd))
Else
p = mbbc3(mpc3(Trim(m), Trim(n5)), Val(sd))

End If

'If Val(m) < Val(n2) Then
If mbjc2(Trim(m), Trim(n5)) = -1 Then
'q = -(Val(n2) - Val(m)) ^ (1 / 3)
q = "-" & mbbc3(qdfh(mpc2(Trim(n5), Trim(m))), Val(sd))
Else
q = mbbc3(mpc2(Trim(m), Trim(n5)), Val(sd))

End If



  End If
  
  
  End If
  
  'If a = 0 And b = 0 Then
  If Val(fn4) > 0 And mbjc2(Trim(n4), 0) <> 0 Then  'Val(n4) > 0 Or mbjc2(Trim(n4), 0) = 0
  tx1 = mcc2(mpc2(mpc3(Trim(p), Trim(q)), mbc2(Trim(a3), 2 & String(sd, "0"), Val(sd))), 6 & String(sd, "0"), Val(sd))
  ftx1 = fhys(Trim(tx1))
  tx4 = mcc2(mpc3(mpc3(Trim(p), Trim(q)), mbc2(Trim(a3), 4 & String(sd, "0"), Val(sd))), 12 & String(sd, "0"), Val(sd))
  If Val(fhys(Trim(tx4))) > 0 Then
  tx2 = tjfh(Trim(tx4), Val(-1))
  Else
  tx2 = qdfh(Trim(tx4))
  End If
  ' -(Val(p) + Val(q) + 4 * Val(A)) / 12 & "+" & Abs((3 ^ (1 / 2) * (Val(p) - Val(q)))) / 12 & "i数据太大有误差"
' -(Val(p) + Val(q) + 4 * Val(A)) / 12 & "-" & Abs((3 ^ (1 / 2) * (Val(p) - Val(q)))) / 12 & "i可选大数据高精度的"
tx3 = zhengchuqy(MCC1(qdfh(mbc2(mpc2(Trim(p), Trim(q)), zhengchuqy(MBBC(3 & String(2 * Val(sd), "0"))), Val(sd))), 12))
jie3cifc = shuchujg(Trim(tx1), Val(sd))

  Else
  If Mid(fn4, 1, 1) = "-" And Trim(m) = 0 Or Trim(n5) = 0 Then
tx1 = mcc2(mpc2(mpc3(Trim(p), Trim(q)), mbc2(Trim(a3), 2 & String(sd, "0"), Val(sd))), 6 & String(sd, "0"), Val(sd))
  ftx1 = fhys(Trim(tx1))
  tx4 = mcc2(mpc3(mpc3(Trim(p), Trim(q)), mbc2(Trim(a3), 4 & String(sd, "0"), Val(sd))), 12 & String(sd, "0"), Val(sd))
  ' -(Val(p) + Val(q) + 4 * Val(A)) / 12 & "+" & Abs((3 ^ (1 / 2) * (Val(p) - Val(q)))) / 12 & "i数据太大有误差"
' -(Val(p) + Val(q) + 4 * Val(A)) / 12 & "-" & Abs((3 ^ (1 / 2) * (Val(p) - Val(q)))) / 12 & "i可选大数据高精度的"
tx3 = mcc2(mbc2(mpc2(Trim(p), Trim(q)), zhengchuqy(MBBC(3 & String(2 * Val(sd), "0"))), Val(sd)), 12 & String(sd, "0"), Val(sd))
  If Val(fhys(Trim(tx4))) > 0 Then
  tx2 = tjfh(Trim(tx4), Val(-1))
  Else
  tx2 = qdfh(Trim(tx4))
  End If
  tx1 = shuchujg(Trim(tx1), Val(sd))
tx12 = shuchujg(mpc3(Trim(tx2), Trim(tx3)), Val(sd))
  tx13 = shuchujg(mpc2(Trim(tx2), Trim(tx3)), Val(sd))
  tx14 = tx1 & "/" & tx12 & "/" & tx13
  jie3cifc = max(Trim(tx14))
  
  Else
  
  'd = mcc2(mpc2(mpc3(Trim(p), Trim(q)), mbc2(Trim(a3), 2 & String(sd, "0"), Val(sd))), 6 & String(sd, "0"), Val(sd))
  'd = mcc2(MPC(qdfh(mbc2(Trim(a3), 2 & String(sd, "0"), Val(sd))), mpc3(Trim(p), Trim(q))), 6 & String(sd, "0"), Val(sd))
  'mpc2减法器有问题?
  'fd = fhys(Trim(d))
  tx1 = mcc2(mpc2(mpc3(Trim(p), Trim(q)), mbc2(Trim(a3), 2 & String(sd, "0"), Val(sd))), 6 & String(sd, "0"), Val(sd))
  ftx1 = fhys(Trim(tx1))
  tx4 = mcc2(mpc3(mpc3(Trim(p), Trim(q)), mbc2(Trim(a3), 4 & String(sd, "0"), Val(sd))), 12 & String(sd, "0"), Val(sd))
  ' -(Val(p) + Val(q) + 4 * Val(A)) / 12 & "+" & Abs((3 ^ (1 / 2) * (Val(p) - Val(q)))) / 12 & "i数据太大有误差"
' -(Val(p) + Val(q) + 4 * Val(A)) / 12 & "-" & Abs((3 ^ (1 / 2) * (Val(p) - Val(q)))) / 12 & "i可选大数据高精度的"
tx3 = mcc2(mbc2(mpc3(Trim(pa), Trim(qa)), zhengchuqy(MBBC(3 & String(2 * Val(sd), "0"))), Val(sd)), 12 & String(sd, "0"), Val(sd))
If Val(fhys(Trim(tx4))) > 0 Then
  tx2 = tjfh(Trim(tx4), Val(-1))
  Else
  tx2 = qdfh(Trim(tx4))
  End If
  tx1 = shuchujg(Trim(tx1), Val(sd))
tx12 = shuchujg(mpc3(Trim(tx2), Trim(tx3)), Val(sd))
  tx13 = shuchujg(mpc2(Trim(tx2), Trim(tx3)), Val(sd))
  tx14 = tx1 & "/" & tx12 & "/" & tx13
  jie3cifc = max(Trim(tx14))

  End If
  
End If


  


  

End Function

Private Function max(ByVal lists As String) As String
Dim temp As String
Dim a() As String
a = Split(lists, "/")
Dim b As Long
temp = a(0)
For b = 0 To UBound(a)
If Abs(temp) < Abs(a(b)) Then temp = a(b)
Next
max = temp
End Function
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-12-19 11:26 | 显示全部楼层
Public Function jie2cifc(a2 As String, b2 As String, c2 As String, sd As String) As String '2次方程
Dim d, y
d = mbc2(Trim(b2), Trim(b2), Val(sd))
D1 = mpc2(Trim(d), mbc2(4 & String(sd, "0"), mbc2(Trim(a2), Trim(c2), Val(sd)), Val(sd)))
d3 = qdfh(Trim(D1))
D2 = mbbc2(Trim(d3), Val(sd))
y = mcc2(Trim(b2), mbc2(2 & String(sd, "0"), Trim(a2), Val(sd)), Val(sd))
sf = fhys(Trim(y))
sf = Val(-1 * sf)
y = tjfh(qdfh(Trim(y)), Val(sf))
y = shuchujg(Trim(y), Val(sd))
If mbjc2(Trim(D1), 0) >= 0 Then
d3 = mcc2(Trim(D2), mbc2(2 & String(sd, "0"), Trim(a2), Val(sd)), Val(sd))
d3 = shuchujg(Trim(d3), Val(sd))
Else
d3 = mcc2(Trim(D2), mbc2(2 & String(sd, "0"), Trim(a2), Val(sd)), Val(sd))
d3 = shuchujg(Trim(d3), Val(sd)) & "i"
End If
jie2cifc = y & "+ -" & d3
End Function
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-1-2 07:12 | 显示全部楼层
111111244727~111111244727内有0组蔡氏整数与素数对:
用时5568.571秒
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-1-2 07:15 | 显示全部楼层
本帖最后由 ysr 于 2023-1-3 12:00 编辑

Private Sub Command1_Click()
Dim a, B, q, m
Dim t As Double
t = Timer
a2 = Val(Text1)
m1 = Trim(Text4)
m2 = Trim(Text5)
m3 = MPC1(MbC(Trim(m2), 4), 66)
a1 = a2
If Right(a2, 1) Mod 2 = 0 Then
a2 = a2 + 1
Else
a2 = a2
End If
q = Val(Text2)
m = MPC1(MbC(Trim(m1), 4), 66)
Do While MBJC(Trim(m1), Trim(m2)) <= 0
p1 = Int(Val(a2 / 6)) * 6 + 1

Do While p1 <= q And p1 <= m1



p2 = MPC1(Trim(m1), Trim(p1))



p3 = MPC1(Trim(p2), 2)



B = fenjieyinzi0(Trim(p2))
c = fenjieyinzi0(Trim(p3))


If InStr(a, "*") = 0 And InStr(B, "*") = 0 And InStr(c, "*") = 0 And InStr(B11, ".") = 0 And InStr(D12, ".") = 0 Then
s = s + 1
Print p1, p2, p3, p4
Text3 = Text3 & CStr(p1) & "," & CStr(p2) & "," & p3 & ",2n=" & m1 & vbCrLf


Else
p1 = p1
s = s
End If


p1 = Val(p1 + 6)


Loop
m1 = MPC1(Trim(m1), 6)
Loop
Combo1 = a1 & "~" & q & "内有" & Val(s) & "组蔡氏整数与素数对:" & vbCrLf & Text3 & "用时" & Timer - t & "秒"

End Sub
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|数学中国 ( 京ICP备05040119号 )

GMT+8, 2024-3-29 02:58 , Processed in 0.071289 second(s), 17 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表