一个数学题目怎么用穷举法做出来,自己弄半天也没有搞好。先谢谢大家的帮助。
题目:一个四位数乘一个一位数,积也是四位数。算式中的九个数字不能重复。

解决方案 »

  1.   

    Private Sub Form_Load()
    Dim a As Long
    Dim b As Long
    Dim c As Long
    For a = 1000 To 9999
    For b = 1 To 9
    c = a * bIf comp(a, b, c) = False And Len(CStr(c)) = 4 Then
    Debug.Print a & "*"; b & "="; c
    End IfNext
    Next
    End Sub
    Private Function comp(ByVal a As Long, ByVal b As Long, ByVal c As Long) As Boolean
    Dim arr(8) As Long
    comp = False
    For I = 0 To 3
    arr(I) = Mid(a, I + 1, 1)
    Next
    arr(4) = b
    For I = 5 To 8
    arr(I) = Mid(c, I - 4, 1)
    NextFor I = 0 To 7
    For j = I + 1 To 8
    If arr(I) = arr(j) Then
    comp = True
    Exit Function
    End If
    Next
    Next
    End Function