题目:
将+,-,*,/ 添加到 1,2,3,4,5,6,7,8,9 之间,使其构成的算式四则运算结果等于100,如: 1*2*3*4+5+6+7*8+9=100
分析:
以上算式相当于把1~9 9 个数字和 8个(+,-,*,/ )作一个特殊顺序的排列,共有4^8=65536 种可能,再从中进行取舍。
代码:
Option Explicit
Private Declare Function EbExecuteLine Lib "vba6.dll" (ByVal pStringToExec As Long, ByVal Unknownn1 As Long, ByVal Unknownn2 As Long, ByVal fCheckOnly As Long) As Long ' API
Private Function ExecuteLine(sCode As String, Optional fCheckOnly As Boolean) As Boolean
ExecuteLine = EbExecuteLine(StrPtr(sCode), 0&, 0&, Abs(fCheckOnly)) = 0
End Function
Private Function result(ByVal x As String) As Single '计算表达式的结果
ExecuteLine "dim x as single"
ExecuteLine "x= " & x
ExecuteLine "clipboard.settext x" '发送到剪切板
result = Clipboard.GetText '从剪切板获取
Clipboard.Clear '清空剪切板
End Function
Sub main() '开始计算
getall 100
End Sub
Private Sub getall(ByVal theresult As Integer)
Dim temp As Long '四进制转换中间变量
Dim x(8) As String '获得8个位置四则运算符
Dim op(3) As String '定义四个四则运算符
Dim i As Long, j As Integer '循环变量
Dim out As String '最终表达式
Dim all As Long, num As Integer '循环范围和输出计数
num = 0
op(0) = "+"
op(1) = "-"
op(2) = "*"
op(3) = "/"
all = 4 ^ 8 - 1
For i = 0 To all
temp = i
x(0) = "1.0"
For j = 1 To 8
x(j) = op(temp Mod 4) & Format(j + 1, "0.0")
temp = temp \ 4
Next
out = Join(x, "")
If result(out) = theresult Then '条件判断
num = num + 1
Debug.Print "解 " & num & ":" & vbTab & Replace(out, ".0", "") & "=" & theresult
End If
Next
If num = 0 Then Debug.Print "无解!"
If num > 0 Then Debug.Print "共 " & num & " 组解!"
End Sub
输出:
解 1: 1*2*3*4+5+6+7*8+9=100
解 2: 1-2+3*4*5+6*7+8-9=100
解 3: 1-2+3*4*5-6+7*8-9=100
解 4: 1+2+3+4+5+6+7+8*9=100
解 5: 1*2*3+4+5+6+7+8*9=100
解 6: 1-2*3+4*5+6+7+8*9=100
解 7: 1+2*3+4*5-6+7+8*9=100
解 8: 1-2*3-4+5*6+7+8*9=100
解 9: 1+2-3*4+5*6+7+8*9=100
解 10: 1+2*3*4*5/6+7+8*9=100
解 11: 1*2*3*4+5+6-7+8*9=100
解 12: 1-2*3-4-5+6*7+8*9=100
解 13: 1+2-3*4-5+6*7+8*9=100
解 14: 1+2+3-4*5+6*7+8*9=100
解 15: 1*2*3-4*5+6*7+8*9=100
共 15 组解!
分享到:
相关推荐
标题中的“马克思手稿中的趣味数学题”是指在卡尔·马克思的手稿中发现的一道有趣的数学问题,这道问题融合了实际生活情境与基础代数知识。问题描述了一个包含30个人的群体(男性、女性和小孩)在饭馆用餐,总共花费...
1、马克思手稿中有一道趣味数学题:有30个人,其中有男人、女人和小孩,在一家饭馆吃饭共花了50先令:每个男人花3先令,每个女人花2先令,每个小孩花1先令,问男人、女人、小孩各有几人? 2、学生成绩管理 有N名学生...
马克思的趣味数学题,用C++编写程序!有30个人,其中有男人,女人,小孩,在一家饭馆吃饭共花50先令,每个男人花3先令,每个女人花2先令,每个小孩花1先令,问男人,女人,小孩各多少人?
标题中的“088 马克思手稿中的数学题 C语言源代码文件”提示我们,这可能是一个关于使用C语言解决数学问题的程序。马克思手稿中的数学题可能是指马克思在研究经济学或其他领域时遇到的数学问题,而这个项目可能是...
在本Java第六章作业中,我们探讨了两个经典数学问题,分别是“鸡兔同笼”问题和基于马克思手稿的趣味数学挑战。这两个问题都属于线性方程组的应用,旨在锻炼我们的逻辑思维和编程能力。 首先,让我们来解决“鸡兔同...
马克思用餐问题是一种经典的数学问题,通常被用来作为编程中的算法练习题。这个问题涉及如何用最少的数量组合几种不同价格的食物来满足特定数量的人的需求,并且使得总花费达到一个预设值。在本例中,问题是寻找购买...
通过以上分析,我们可以看到这些趣味数学试题涵盖了小学三年级数学的主要知识点,包括基础运算、逻辑推理、几何概念、数列规律、实际应用和概率问题,旨在锻炼学生的思维能力和实际解决问题的能力。这些题目设计巧妙...
加德纳趣味数学系列是一本深受数学爱好者喜爱的书籍,主要特点是通过一系列富有挑战性的趣题来激发读者对数字和逻辑思维的兴趣。书中的100道趣题旨在锻炼和提升读者的数字推算能力,这是一项在日常生活中以及STEM...
这些题目涵盖了小学四年级的数学知识点,包括基本的数学运算、逻辑推理、实际问题解决以及简单的数学游戏。下面是每个题目涉及的知识点详细说明: 1. 题目要求在80米的路上每隔4米种一棵树,这涉及到植树问题。在路...
综上所述,“数学思维活动趣味题PPT课件”通过一系列精心设计的抢答题和挑战题,成功地将数学知识和逻辑推理能力的培养融入到趣味性的活动中。这样的课件不仅能够吸引学生的注意力,激发他们对数学的兴趣,还能够在...
这份七年级趣味数学题PPT学习教案包含了多个数学知识点,主要涵盖了逻辑推理、买卖计算、时间顺序、图形认知、比例关系、几何图形性质以及几何图形的变化规律等方面。 首先,第一道题涉及到时间顺序的推理,它需要...
数学建模培训资料 数学建模实战题目真题答案解析解题过程&论文报告 一道趣味的数学问题的解法-幻方的构造 共3页.pdf
这份名为“趣味数学二年级PPT课件”的教学材料旨在为二年级学生提供一系列富有趣味性的数学问题,旨在激发孩子们的学习兴趣,提高他们的思维敏捷性、计算能力和应用数学知识解决实际问题的能力。课件中包含多种类型...
这份资料是初中趣味数学题竞赛的PPT课件,包含了多个有趣的数学问题,旨在激发学生对数学的兴趣。问题设计巧妙,涵盖了多种数学概念,如算术运算、几何形状、逻辑推理和代数应用。 首先,必做题环节的规则设置了一...
这份"一年级趣味数学课件PPT学习教案"涵盖了多种基础数学概念和问题解决技巧,适合初学者或一年级学生。以下是对各个题目所涉及知识点的详细解释: 1. 天平问题:这是一种简单的比较和推理问题,旨在培养孩子的逻辑...
6. **虫吃掉的算式**:这是一个基础数学题。通过观察图形,我们可以推断出原来的算式。虫子吃掉了数字,但运算符和等号未受影响,可以根据运算规则恢复算式。 7. **火柴游戏**:这涉及到空间几何和逻辑思考。初始有...
3. 题目3是一道行程问题,结合速度、时间和距离的关系。利用相对速度的概念,可以计算出苍蝇飞行的总距离。这里运用了基本的物理原理,即速度等于距离除以时间。 4. 题目4源自古代中国数学的经典问题——鸡兔同笼...
5. 这是一道逻辑题,需要找出与众不同的字母。B、C、D、P、X中,只有P是中心对称的,其余都是轴对称,所以答案是C. P。 6. 这是一个等差数列问题,差是增加6。1,5,11,19,29,空缺处,差是8,16,20,24,所以第...
这份小学六年级数学趣味竞赛试题PPT学习教案涵盖了多个数学概念和思维训练题目,旨在提升孩子们的数学兴趣和解决问题的能力。以下是对其中部分知识点的详细解释: 1. 填写数字成语:这是一个将数学与语文结合的问题...
9. **应用问题**:最后一道趣味数学题中,鸭子游泳的问题让学生运用数学知识解决实际问题,理解“前面”、“后面”的相对位置。 这些题目全面覆盖了一年级数学的基础知识点,通过这样的综合测试,能够有效地评估...