|

楼主 |
发表于 2020-8-20 19:38
|
显示全部楼层
本帖最后由 ysr 于 2020-8-20 13:06 编辑
代码如下(不合要求的话还可以再调整,只发主程序):
Private Sub Command1_Click()
Dim a, b
a = Val(Text1)
a1 = a
q = Val(Text2)
m = Sqr(q)
If Right(a, 1) Mod 2 = 0 Then
a = a + 1
Else
a = a
End If
s = 0
a2 = a
Do While a2 < q
n = a2 + 1 + 30
Do While n < 100
B1 = a2
b2 = B1 + 30
B3 = n - B1 - 30
b4 = B3 + 30
c1 = fenjieyinzi0(Val(B1))
C2 = fenjieyinzi0(Val(b2))
c3 = fenjieyinzi0(Val(B3))
D1 = fenjieyinzi0(Val(b4))
If InStr(c1, "*") = 0 And InStr(D1, "*") = 0 And InStr(C2, "*") = 0 And InStr(c3, "*") = 0 Then
s = s + 1
Print B1, b2, B3, b4
Text3 = Text3 & "/" & n & "/" & B1 & "/" & b2 & "/" & B3 & "/" & b4 & vbCrLf
Else
s = s
End If
n = n + 2
Loop
a2 = a2
s1 = s
Do While n < 10000
B1 = a2
b2 = B1 + 30
B3 = n - B1 - 30
b4 = B3 + 30
Print B3, b4, B1, b2
c1 = fenjieyinzi0(Val(B1))
C2 = fenjieyinzi0(Val(b2))
c3 = fenjieyinzi0(Val(B3))
D1 = fenjieyinzi0(Val(b4))
n = n + 2
If InStr(c1, "*") = 0 And InStr(D1, "*") = 0 And InStr(C2, "*") = 0 And InStr(c3, "*") = 0 Then
s1 = s1 + 1
Print B1, b2, B3, b4
Text3 = Text3 & "/" & n & "/" & B1 & "/" & b2 & "/" & B3 & "/" & b4 & vbCrLf
Else
s1 = s1
End If
n = n + 2
Loop
a2 = a2 + 2
s103 = s103 + s1
Loop
Combo1 = a1 & "与" & q & "之间有由间距为" & B3 - b2 & "的2对差为30的素数组成的" & s103 & "组4生素数对:" & vbCrLf & Text3
End Sub
Private Sub Command2_Click()
Text1 = ""
Text2 = ""
Text3 = ""
Combo1 = ""
Form1.Cls
End Sub |
|