算24程序VB部分源码

Public Function 算24(Card1 As Integer, Card2 As Integer, _
Card3 As Integer, Card4 As Integer) As String
If Card1 < 1 Or Card1 > 13 Then
    MsgBox "无法计算!", 48
    Exit Function
ElseIf Card2 < 1 Or Card2 > 13 Then
    MsgBox "无法计算!", 48
    Exit Function
ElseIf Card3 < 1 Or Card3 > 13 Then
    MsgBox "无法计算!", 48
    Exit Function
ElseIf Card4 < 1 Or Card4 > 13 Then
    MsgBox "无法计算!", 48
    Exit Function
End If

Dim a As Integer
Dim b As Integer
Dim c As Integer
Dim d As Integer
Dim i As Integer
Dim j As Integer
Dim n As Integer
Dim k As Integer

a = Card1
b = Card2
c = Card3
d = Card4

If a + b + c + d = 24 Then
    算24 = Str$(a) + "+" + Str$(b) + "+" + Str$(c) + "+" + Str$(d) + "=24"
    Exit Function
End If
For i = 1 To 2
    For j = 1 To 3
        For n = 1 To 4
            If a + b + c - d = 24 Then
                算24 = Str$(a) + "+" + Str$(b) + "+" + Str$(c) + "-" + Str$(d) + "=24"
                Exit Function
            End If
            If a + b - c - d = 24 Then
                算24 = Str$(a) + "+" + Str$(b) + "-" + Str$(c) + "-" + Str$(d) + "=24"
                Exit Function
            End If
            If a + b + c * d = 24 Then
                算24 = Str$(a) + "+" + Str$(b) + "+" + Str$(c) + "*" + Str$(d) + "=24"
                Exit Function
            End If
            If (a + b + c) * d = 24 Then
                算24 = "(" + Str$(a) + "+" + Str$(b) + "+" + Str$(c) + ")*" + Str$(d) + "=24"
                Exit Function
            End If
            If a + (b + c) * d = 24 Then
                算24 = Str$(a) + "+(" + Str$(b) + "+" + Str$(c) + ")*" + Str$(d) + "=24"
                Exit Function
            End If
            If a + b + c / d = 24 Then
                算24 = Str$(a) + "+" + Str$(b) + "+" + Str$(c) + "/" + Str$(d) + "=24"
                Exit Function
            End If
            If a + (b + c) / d = 24 Then
                算24 = Str$(a) + "+(" + Str$(b) + "+" + Str$(c) + ")/" + Str$(d) + "=24"
                Exit Function
            End If
            If (a + b - c) * d = 24 Then
                算24 = "(" + Str$(a) + "+" + Str$(b) + "-" + Str$(c) + ")*" + Str$(d) + "=24"
                Exit Function
            End If
            If a + (b - c) * d = 24 Then
                算24 = Str$(a) + "+(" + Str$(b) + "-" + Str$(c) + ")*" + Str$(d) + "=24"
                Exit Function
            End If
            If a + b - c / d = 24 Then
                算24 = Str$(a) + "+" + Str$(b) + "-" + Str$(c) + "/" + Str$(d) + "=24"
                Exit Function
            End If
            If (a + b) * (c + d) = 24 Then
                算24 = "(" + Str$(a) + "+" + Str$(b) + ")*(" + Str$(c) + "+" + Str$(d) + ")=24"
                Exit Function
            End If
            If a + b * c - d = 24 Then
                算24 = Str$(a) + "+" + Str$(b) + "*" + Str$(c) + "-" + Str$(d) + "=24"
                Exit Function
            End If
            If (a + b) * c - d = 24 Then
                算24 = "(" + Str$(a) + "+" + Str$(b) + ")*" + Str$(c) + "-" + Str$(d) + "=24"
                Exit Function
            End If
            If (a + b) * (c - d) = 24 Then
                算24 = "(" + Str$(a) + "+" + Str$(b) + ")*(" + Str$(c) + "-" + Str$(d) + ")=24"
                Exit Function
            End If
            If a + b * c * d = 24 Then
                算24 = Str$(a) + "+" + Str$(b) + "*" + Str$(c) + "*" + Str$(d) + "=24"
                Exit Function
            End If
            If (a + b) * c * d = 24 Then
                算24 = "(" + Str$(a) + "+" + Str$(b) + ")*" + Str$(c) + "*" + Str$(d) + "=24"
                Exit Function
            End If
            If (a + b * c) * d = 24 Then
                算24 = "(" + Str$(a) + "+" + Str$(b) + "*" + Str$(c) + ")*" + Str$(d) + "=24"
                Exit Function
            End If
            If a + b * c / d = 24 Then
                算24 = Str$(a) + "+" + Str$(b) + "*" + Str$(c) + "/" + Str$(d) + "=24"
                Exit Function
            End If
            If (a + b) * c / d = 24 Then
                算24 = "(" + Str$(a) + "+" + Str(b) + ")*" + Str$(c) + "/" + Str$(d) + "=24"
                Exit Function
            End If
            If (a + b * c) / d = 24 Then
                算24 = "(" + Str$(a) + "+" + Str$(b) + "*" + Str$(c) + ")/" + Str$(d) + "=24"
                Exit Function
            End If
            If (a + b / c) * d = 24 Then
                算24 = "(" + Str$(a) + "+" + Str$(b) + "/" + Str$(c) + ")*" + Str$(d) + "=24"
                Exit Function
            End If
            If (a - b - c) * d = 24 Then
                算24 = "(" + Str$(a) + "-" + Str$(b) + "-" + Str$(c) + ")*" + Str$(d) + "=24"
                Exit Function
            End If
            If (a - b) * c - d = 24 Then
                算24 = "(" + Str$(a) + "-" + Str$(b) + ")*" + Str$(c) + "-" + Str$(d) + "=24"
                Exit Function
            End If
            If (a - b) * (c - d) = 24 Then
                算24 = "(" + Str$(a) + "-" + Str$(b) + ")*(" + Str$(c) + "-" + Str$(d) + ")=24"
                Exit Function
            End If
            If (a - b) * c * d = 24 Then
                算24 = "(" + Str$(a) + "-" + Str$(b) + ")*" + Str$(c) + "*" + Str$(d) + "=24"
                Exit Function
            End If
            If (a - b * c) * d = 24 Then
                算24 = "(" + Str$(a) + "-" + Str$(b) + "*" + Str$(c) + ")*" + Str$(d) + "=24"
                Exit Function
            End If
            If (a - b) * c / d = 24 Then
                算24 = "(" + Str$(a) + "-" + Str$(b) + ")*" + Str$(c) + "/" + Str$(d) + "=24"
                Exit Function
            End If
            If (a - b / c) * d = 24 Then
                算24 = "(" + Str$(a) + "-" + Str$(b) + "/" + Str$(c) + ")*" + Str$(d) + "=24"
                Exit Function
            End If
            If a * b + c * d = 24 Then
                算24 = Str$(a) + "*" + Str$(b) + "+" + Str$(c) + "*" + Str$(d) + "=24"
                Exit Function
            End If
            If a * b + c / d = 24 Then
                算24 = Str$(a) + "*" + Str$(b) + "+" + Str$(c) + "/" + Str$(d) + "=24"
                Exit Function
            End If
            If a * b - c - d = 24 Then
                算24 = Str$(a) + "*" + Str$(b) + "-" + Str$(c) + "-" + Str$(d) + "=24"
                Exit Function
            End If
            If a * b - c * d = 24 Then
                算24 = Str$(a) + "*" + Str$(b) + "-" + Str$(c) + "*" + Str$(d) + "=24"
                Exit Function
            End If
            If (a * b - c) * d = 24 Then
                算24 = "(" + Str$(a) + "*" + Str$(b) + "-" + Str$(c) + ")*" + Str$(d) + "=24"
                Exit Function
            End If
            If a * b - c / d = 24 Then
                算24 = Str$(a) + "*" + Str$(b) + "-" + Str$(c) + "/" + Str$(d) + "=24"
                Exit Function
            End If
            If (a * b - c) / d = 24 Then
                算24 = "(" + Str$(a) + "*" + Str$(b) + "-" + Str$(c) + ")/" + Str$(d) + "=24"
                Exit Function
            End If
            If a * b * c - d = 24 Then
                算24 = Str$(a) + "*" + Str$(b) + "*" + Str$(c) + "-" + Str$(d) + "=24"
                Exit Function
            End If
            If a * b * c * d = 24 Then
                算24 = Str$(a) + "*" + Str$(b) + "*" + Str$(c) + "*" + Str$(d) + "=24"
                Exit Function
            End If
            If a * b * c / d = 24 Then
                算24 = Str$(a) + "*" + Str$(b) + "*" + Str$(c) + "/" + Str$(d) + "=24"
                Exit Function
            End If
            If a * b / (c + d) = 24 Then
                算24 = Str$(a) + "*" + Str$(b) + "/(" + Str$(c) + "+" + Str$(d) + ")=24"
                Exit Function
            End If
            If a * b / c - d = 24 Then
                算24 = Str$(a) + "*" + Str$(b) + "/" + Str$(c) + "-" + Str$(d) + "=24"
                Exit Function
            End If
            If c = d Then
            ElseIf a * b / (c - d) = 24 Then
                算24 = Str$(a) + "*" + Str$(b) + "/(" + Str$(c) + "-" + Str$(d) + ")=24"
                Exit Function
            End If
            If a * (b / c - d) = 24 Then
                算24 = Str$(a) + "*(" + Str$(b) + "/" + Str$(c) + "-" + Str$(d) + ")=24"
                Exit Function
            End If
            If a * b / c / d = 24 Then
                算24 = Str$(a) + "*" + Str$(b) + "/" + Str$(c) + "/" + Str$(d) + "=24"
                Exit Function
            End If
            If b = c / d Then
            ElseIf a / (b - c / d) = 24 Then
                算24 = Str$(a) + "/(" + Str$(b) + "-" + Str$(c) + "/" + Str$(d) + ")=24"
                Exit Function
            End If
            If b / c = d Then
            ElseIf a / (b / c - d) = 24 Then
                算24 = Str$(a) + "/(" + Str$(b) + "/" + Str$(c) + "-" + Str$(d) + ")=24"
                Exit Function
            End If
        k = a: a = b: b = c: c = d: d = k
        Next n
    k = b: b = c: c = d: d = k
    Next j
k = c: c = d: d = k
Next i
算24 = "本题无解!"

End Function

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值