|
|
偶数182和182之间的偶数的方根内最少拆分个数为:1, 分别列表如下:
(偶数) (偶数方根内的素数和对个数) (总素数和对个数)
182 1 6
总的解分别如下:
3 + 179
19 + 163
31 + 151
43 + 139
73 + 109
79 + 103
偶数194和194之间的偶数的方根内最少拆分个数为:2, 分别列表如下:
(偶数) (偶数方根内的素数和对个数) (总素数和对个数)
194 2 7
总的解分别如下:
3 + 191
13 + 181
31 + 163
37 + 157
43 + 151
67 + 127
97 + 97
偶数256和256之间的偶数的方根内最少拆分个数为:1, 分别列表如下:
(偶数) (偶数方根内的素数和对个数) (总素数和对个数)
256 1 8
总的解分别如下:
5 + 251
17 + 239
23 + 233
29 + 227
59 + 197
83 + 173
89 + 167
107 + 149
偶数220和220之间的偶数的方根内最少拆分个数为:0, 分别列表如下:
(偶数) (偶数方根内的素数和对个数) (总素数和对个数)
220 0 9
含有0个小根拆的偶数有1个总的解分别如下:
23 + 197
29 + 191
41 + 179
47 + 173
53 + 167
71 + 149
83 + 137
89 + 131
107 + 113
偶数210和210之间的偶数的方根内最少拆分个数为:2, 分别列表如下:
(偶数) (偶数方根内的素数和对个数) (总素数和对个数)
210 2 19
总的解分别如下:
11 + 199
13 + 197
17 + 193
19 + 191
29 + 181
31 + 179
37 + 173
43 + 167
47 + 163
53 + 157
59 + 151
61 + 149
71 + 139
73 + 137
79 + 131
83 + 127
97 + 113
101 + 109
103 + 107
偶数240和240之间的偶数的方根内最少拆分个数为:3, 分别列表如下:
(偶数) (偶数方根内的素数和对个数) (总素数和对个数)
240 3 18
总的解分别如下:
7 + 233
11 + 229
13 + 227
17 + 223
29 + 211
41 + 199
43 + 197
47 + 193
59 + 181
61 + 179
67 + 173
73 + 167
83 + 157
89 + 151
101 + 139
103 + 137
109 + 131
113 + 127
代码如下:
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 / 2 - Int(x / 2) = 0 Then
a = False
Else
For i = 3 To 2 * b + 1 Step 2
If x / i - Int(x / 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)
a3 = a
q = Val(Text2)
Do While a <= q
s = 0
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
js = js & a1 & " + " & 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
js = js & a2 & " + " & b1 & vbCrLf
Else
s1 = s1
End If
a2 = a2 + 2
Loop
Text3 = Text3 & CStr(a) & " " & CStr(s) & " " & CStr(s1) & vbCrLf
Print a, s, s1
s2 = s2 & "/" & s
If s = 0 Then s5 = s5 & CStr(a) & " " & CStr(s) & " " & CStr(s1) & vbCrLf: s7 = s7 + 1
a = a + 2
Loop
s3 = Mid(s2, 2)
s4 = min(Trim(s3))
s6 = "(偶数) (偶数方根内的素数和对个数) (总素数和对个数)"
s8 = "含有0个小根拆的偶数有" & s7 & "个总的解分别如下:"
Combo1.Text = "偶数" & a3 & "和" & q & "之间的偶数的方根内最少拆分个数为:" & s4 & ", 分别列表如下:" & vbCrLf & s6 & vbCrLf & Text3.Text
Text4 = s8 & vbCrLf & js
End Sub
Private Sub Command2_Click()
Text1 = ""
Text2 = ""
Text3 = ""
Text4 = ""
Combo1 = ""
Form1.Cls
End Sub
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
|
|