最新消息:

五个3如何得出6

数学 少儿编程 2581浏览 0评论

题目:在五个3之间,填上加、减、乘、除和括号,使得结果为6。请至少给出8种方法。其中〇表示算符。

五个3如何得出6

 

数学解法:这个题目,如果做为数学题来解,常采用倒推法。例如,最后一个3前面填上“+”号,于是问题转换为四个3之间,填上适当的算符和括号,使得结果为3。

五个3如何得出6

用这种思路求出8个解是没有什么问题的。但是,如果想求出所有解,就必须用编程的思路。

 

编程解法:根据上一期处理“算24”的方法,可以知道它们是同类问题。不同点在于:1)不需要做全排列了,因为所有数字都一样,是3;2)五个3,中间要填四个算符,比“算24”的四个数字填写三个算符高了一阶。

 

难点还是在于括号的处理。这里采用降阶的方式来解决。

 

三阶:如果三个数字填二个算符,括号只有两种填法。如下所示:

五个3如何得出6

四阶:如果是四个数字填三个算符,先考虑添加一个括号,将算式变为只有三个数字的情况:

五个3如何得出6

然后套用前述三个数字填两个算符的结论。对于(1)式,第二个括号有两种填法:

五个3如何得出6

 

对于(2)式,第二个括号的填法为:

五个3如何得出6

 

对于(3)式,第二个括号的填法为:

五个3如何得出6

 

显然(8)式与(5)式相同,可以不考虑。因此括号有5种填法。

 

五阶:如果是五个数字填四个算符,先考虑添加一个括号,将算式变为只有四个数字的情况:

五个3如何得出6

 

采用类似上述的分析,结论如下。

对于式(10),

五个3如何得出6

 

对于式(11),

五个3如何得出6

 

对于式(12),

五个3如何得出6

 

对于式(13),

五个3如何得出6

 

其中,式(m11)与式(m3)重复,式(m16)与式(m1)重复,式(m17)与式(m5)重复,式(m18)与式(m7)重复,式(m19)与式(m10)重复。因此,括号有15种填法。

 

程序结果:将上述15种情形,分别进行“运算符枚举”,得到6的结果如下:

M1

M2

M3

M4

M5

M6

M7

M8

13

8

9

11

8

8

3

11

M9

M10

M12

M13

M14

M15

M20

合计

7

3

11

8

4

6

3

113

 

五个3如何得出6

后记一般认为5个以上的变元就不属于简单问题,本例就是一个佐证。ps.经研究发现,Scratch 2.0支持传递参数。但是无返回值,需要通过全局变量来传递。据说将在3.0解决这个问题。

 

始发于微信公众号:
全不知老师

您必须 登录 才能发表评论!