|

楼主 |
发表于 2025-6-13 11:18
|
显示全部楼层
Private Function fenjieyinzi(sa As String) As String
Dim x, a, b
x = sa
b = Int(Sqr(Val(x)) / 2)
If x = 3 Or x = 2 Then
a = True
Else
If x Mod 2 = 0 Then
a = False
Else
For I = 3 To 2 * b + 1 Step 2
If x Mod I = 0 Then
a = False
Exit For
Else: a = True
End If
Next
End If
End If
If a = True Then
fenjieyinzi = "这是个素数"
Else
fenjieyinzi = "2*2"
End If
End Function
Private Sub Command1_Click()
Dim a, b
a = Val(Text1)
m1 = Val(Text3)
Do While a <= m1
s = 0
Text2 = ""
m = Sqr(a)
a1 = 3
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
s11 = s11 & a & "的方根为" & m & "," & "方根内有" & s & "个,比例(个数/方根)" & s / m & "总数有" & s1 & "个,总对数:" & vbCrLf & a & "=" & Text2
a = a + 2
Loop
Combo1 = s11
End Sub
Private Sub Command2_Click()
Text1 = ""
Text2 = ""
Text3 = ""
Combo1 = ""
Form1.Cls
End Sub
|
|