首页 > 留学知识库

问题: 小学数学问题

8、7、6、5、4、3、2、1这八个数字,不可以调换顺序,不可以加括号,只可以在期间放入+、-、x,使结果等于1992,如果有理由说明理由更好

解答:

此题无解.

我在Excel中写了一个宏,运算下来无解,但是结果把1992替换为4390就有三个解,分别如下
876*5+4+3+2+1=4390
876*5+4+3*2*1=4390
876*5+4*3-2*1=4390

Sub compute()
Dim i1, i2, i3, i4, i5, i6, i7 As Integer
Dim j As Integer

Dim s(4, 4, 4, 4, 4, 4, 4) As String
Dim a(8) As String

Dim fuhao As String

a(1) = "8"
a(2) = "7"
a(3) = "6"
a(4) = "5"
a(5) = "4"
a(6) = "3"
a(7) = "2"
a(8) = "1"

Worksheets("Sheet1").Cells(3, 1).Value = 0
For i1 = 1 To 4
For i2 = 1 To 4
For i3 = 1 To 4
For i4 = 1 To 4
For i5 = 1 To 4
For i6 = 1 To 4
For i7 = 1 To 4
s(i1, i2, i3, i4, i5, i6, i7) = a(1)
Select Case i1
Case 1
fuhao = ""
Case 2
fuhao = "+"
Case 3
fuhao = "-"
Case 4
fuhao = "*"
End Select
s(i1, i2, i3, i4, i5, i6, i7) = s(i1, i2, i3, i4, i5, i6, i7) & fuhao & a(2)
Select Case i2
Case 1
fuhao = ""
Case 2
fuhao = "+"
Case 3
fuhao = "-"
Case 4
fuhao = "*"
End Select
s(i1, i2, i3, i4, i5, i6, i7) = s(i1, i2, i3, i4, i5, i6, i7) & fuhao & a(3)
Select Case i3
Case 1
fuhao = ""
Case 2
fuhao = "+"
Case 3
fuhao = "-"
Case 4
fuhao = "*"
End Select
s(i1, i2, i3, i4, i5, i6, i7) = s(i1, i2, i3, i4, i5, i6, i7) & fuhao & a(4)
Select Case i4
Case 1
fuhao = ""
Case 2
fuhao = "+"
Case 3
fuhao = "-"
Case 4
fuhao = "*"
End Select
s(i1, i2, i3, i4, i5, i6, i7) = s(i1, i2, i3, i4, i5, i6, i7) & fuhao & a(5)
Select Case i5
Case 1
fuhao = ""
Case 2
fuhao = "+"
Case 3
fuhao = "-"
Case 4
fuhao = "*"
End Select
s(i1, i2, i3, i4, i5, i6, i7) = s(i1, i2, i3, i4, i5, i6, i7) & fuhao & a(6)
Select Case i6
Case 1
fuhao = ""
Case 2
fuhao = "+"
Case 3
fuhao = "-"
Case 4
fuhao = "*"
End Select
s(i1, i2, i3, i4, i5, i6, i7) = s(i1, i2, i3, i4, i5, i6, i7) & fuhao & a(7)
Select Case i7
Case 1
fuhao = ""
Case 2
fuhao = "+"
Case 3
fuhao = "-"
Case 4
fuhao = "*"
End Select
s(i1, i2, i3, i4, i5, i6, i7) = s(i1, i2, i3, i4, i5, i6, i7) & fuhao & a(8)
Worksheets("Sheet1").Cells(1, 1).Value = "=" & s(i1, i2, i3, i4, i5, i6, i7)
Worksheets("Sheet1").Cells(2, 1).Value = s(i1, i2, i3, i4, i5, i6, i7)
Worksheets("Sheet1").Cells(3, 1).Value = Worksheets("Sheet1").Cells(3, 1).Value + 1
If CLng(Worksheets("Sheet1").Cells(1, 1).Value) = 1992 Then MsgBox ("I got it!")
Next
Next
Next
Next
Next
Next
Next
End Sub