把 1/a 拆分成四个不同单位分数的和,并且四个分母之和为最小的VB程序
Private Sub Command1_Click()'把 1/a 拆分成四个不同单位分数的和,并且四个分母之和为最小的程序代码
Dim n, a As Double
n = Val(Text1)
m = Val(24 * n)
a = Val(1 + n)
Do While a >= Val(n) And a <= 5 * n
b = Val(a + 1)
Do While b <= Val(5 * n)
c = Val(b + 1)
Do While c <= Val(10 * n)
u = Val(a * b * c * n)
v = Val(a * b * c - n * (a * b + (a + b) * c))
If Val(v) > 0 Then
d = Val(u / v)
If c < d And Val(u - Int(u / v) * Abs(v)) = 0 Then
k = Val(a + b + c + d)
If k <= m Then
m = k
s = "{" & a & "," & b & "," & c & "," & d & "}"
s2 = n & " " & m & " " & s & vbCrLf
s3 = s3 + 1
End If
End If
End If
c = Val(c + 1)
Loop
b = Val(b + 1)
Loop
a = Val(a + 1)
Loop
If s3 > 0 Then
Text2 = s2 & "需要比较的解的个数为: " & s3 & "组"
Else
Text2 = "无解"
End If
End Sub
Private Sub Command2_Click()
Text1 = ""
Text2 = ""
End Sub







