马圈趣题

来自计算思维百科
跳转至: 导航搜索
马圈趣题1.jpg

牧马人有21匹马,他想把他们圈在一个正方形的马圈中,并在马圈内用栅栏隔成4个小马圈,使每个马圈里都有偶数对马再加上一匹马。你能帮牧马人造出来吗?

解决方案

我们从题目可以看到,每个马圈都要求有偶数对马再加上一匹马,那就是每个马圈里的马的数目要等于4k+1(k>0且k为整数),但总数不可超过21;那我们可以列出满足这个式子的数就有:1、5、8、13、17、21;如果我们画“田字格”来放的话,那么就从这几个数中挑出4个数且它们的和为21;很明显21是不行的,17也是(剩下的3个马圈里要放4匹马,不能够保证3个圈里的数目符合要求);如1+5+13+5=24>21不符合要求;5+5+5+8=23>21也不符合要求;我们可以遍历所有4个数的组合,发现都不行,难道不能造出这样的马圈吗?

马圈趣题2.png

到这儿,我们会想有没有其他的划圈方法,不是以这种最传统的“田”字格划圈呢?我们可以从上面的分析中我们可以看到,“田”字划圈使得每个马圈都互相独立开来,即每个马圈都互不干扰,因此无论我们怎么划都找不到方案。

我们可以大胆猜想,如果每个马圈的马可以共有呢,就好比某个圈里的那单独的一匹马是不是也可以算在两个圈里呢?大家有没有想到什么呢,还记得那种出现在电视里的神秘宝藏或礼物吗,打开一个盒子,里面还有小盒子,小盒子里面还有盒子,…,一直到最底层的盒子才可以揭开面纱,在这个题中,我们试着以类似的方法来分马圈。我们在符合要求的数中可以得到这样的三个数:5、8、8和为21,如果我们利用层层嵌套的思想来解的话,必须保证最里层要有单独的一匹马,在此基础上每层都有偶数对即可,那我们可以得出这样几种组合:1+4+8+8,5+4+4+8。

马圈趣题3.png

运用的计算思维

上面的分析过程中,我们可以看到我们首先采用了最直接也是常识的方法没有找到答案。所以我们尝试转换思路,从另外一个与问题解等价的方向去思考,这个思考的过程中应用到了计算思维的转化思想,即把将一个问题由难化易,由繁化简,由复杂化简单的过程。而我们最后得到的解就是一个层层嵌套的过程,这也体现着计算思维的递归思想,将一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解,只需少量步骤就可描述出解决问题过程所需要的多次重复工作,大大地减少了工作量。

参考文献

[1] 《全世界孩子都爱玩的700个思维游戏》 新世界出版社