关于火柴棒数字游戏的方案设计思考

作者: admin 分类: 公众号存档            2 次浏览 发布时间: 2023-07-05 08:20

公众号:杨建荣的学习笔记 · 作者:杨建荣 · 发布:2023-07-05 08:20:41 · 原文链接

这是学习笔记的第 2468篇文章

  

  同样,这是一个耽搁了数月之久的事情,关于火柴棒数字游戏,在奥数题中经常能刷到,还是蛮考验思维的。 孩子很喜欢这种题目,我也觉得有意思,所以就花了一些时间琢磨了下。

比如 拿走一根火柴棒,使得下面的等式成立

或者是我在去年发的一道题目,一道移动火柴的题目,要不要试一下

这种题目难就难在,可以同时有多种解法

带着好奇心,我做了下分析,怎么能够写程序生成这样的题目,我没有着急开始写代码,而是做了一些分析。 

比如数字所对应的火柴棒数量差异还是很大的。 

按照火柴棒数量,基本上能够锁定几类常见的题目:

1)挪动一根火柴棒(平移)

2)添加一根火柴棒(添加)

3)减少一根火柴棒(减少)

接下来就是有点烧脑的重点了, 我整理了下。

平移有五种情况,大体能够覆盖常见的场景:

1)第一种是当前的数字在火柴棒不变的情况下自我调整,火柴棒总数不变

        2<->3, 5<->3, 0<->6, 0<->9,6<->9

比如2<->3,意思是2可以平移转换成3,3也可以平移转换成2,类似于这样,其他的描述方式是相似的,就不一一贴图了。

2)第二种情况是一个数字增加一根火柴棒,同时另外一个数字减少一根火柴棒,火柴棒总数不变

        1->7,3->9,5->6,5->9,0->8,6->8,9->8,0->10

3)第三种情况是一个数字减少一根火柴棒,同时另外一个数字增加一根火柴棒,火柴棒总数不变

        7->1,9->3,8->0,8->6,8->9,10->0

4)第四种情况是将 – 调整为 +,另外一个数字减少一根火柴,火柴棒总数不变

        7->1,9->3,8->0,8->6,8->9

5)第五种情况是将+ 调整为 -,另外一个数字增加一根火柴,火柴棒总数不变

        1->7,3->9,5->6,5->9,0->8,6->8,9->8    

添加一根火柴

1)第一种情况是一个数字增加一根火柴棒,同时另外一个数字减少一根火柴棒,火柴棒总数不变

        1->7,3->9,5->6,5->9,0->8,6->8,9->8

2)第二种是将 – 调整为 +,使得等式成立

减少一根火柴

1)第一种情况是一个数字减少一根火柴棒,同时另外一个数字增加一根火柴棒,火柴棒总数不变

        7->1,9->3,8->0,8->6,8->9

2)第二种情况是将 + 调整为 -,使得等式成立

整体思路

1)先输出正常的结果

2)在正常的结果基础上调整,输出修改过的结果

例如移动一根火柴的场景,先根据等式的数字来判断五种场景中,根据数字哪种更合适,如果都不合适,则调整符号

以一个看起来极度简单的算式为例

0+9=9

很快就能衍生出十多个个算式:

比如平移一根火柴就有这么多:

9+9=9,    6+9=9,    0+0=9,   0+6=9,    0+9=6,    0+9=0

8+3=9,10+3=9,0+3=8,0+5=8,0+8=5

0-8=9,0-9=8,10-9=9

后续完善代码之后可以把代码附上,先缓缓。

各大平台都可以找到我

  • 微信公众号:杨建荣的学习笔记

  • Github:@jeanron100

  • CSDN:@jeanron100

  • 知乎:@jeanron100

  • 头条号:@杨建荣的学习笔记

  • 网易号:@杨建荣的数据库笔记

  • 大鱼号:@杨建荣的数据库笔记

  • 腾讯云+社区:@杨建荣的学习笔记

热文:

新数据库时代,DBA 发展之路该如何选择

我们为什么在MySQL中几乎不使用分区表

《大江大河2》最触动我的一段经典对话

如何优化MySQL千万级大表,我写了6000字的解读

一道经典的MySQL面试题,答案出现三次反转

换个角度看人生

拉里·佩奇(Larry Page)的伟大归来

美女主持直播,被突发意外打断!湾区网友却高喊: 我懂!超甜

admin

杨建荣,《Oracle DBA工作笔记》《MySQL DBA工作笔记》作者,dbaplus社群发起人之一,腾讯云TVP,现任竞技世界系统部经理,拥有十多年数据库开发和运维经验,目前专注于开源技术、运维自动化和性能调优

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

更多阅读