把 1/a 拆分成两个不同单位分数的和,并且两个分母之和为最小的VB程序
Private Sub Command1_Click()Dim n, a As Double
n = Val(Text1)
m = 2 * (n + 1) ^ 2
a = Val(n + 1)
Do While a <= Val(2 * n)
b = Val(2 * n)
Do While b <= Val(n * (n + 1)) And b > a
k = Val(a + b)
c = Val(a * b) / Val(k)
If c = n And k <= m Then
m = k
s = "{" & a & "," & b & "}"
s2 = n & " " & m & " " & s & vbCrLf
s3 = s3 + 1
End If
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 = ""
Text3 = ""
End Sub






