问题: 小学数学问题
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
版权及免责声明
1、欢迎转载本网原创文章,转载敬请注明出处:侨谊留学(www.goesnet.org);
2、本网转载媒体稿件旨在传播更多有益信息,并不代表同意该观点,本网不承担稿件侵权行为的连带责任;
3、在本网博客/论坛发表言论者,文责自负。