思维启发之根据一道题的算法发现自己的思维局限性

潘鹏在CSDN上原创,如其他网站转载请注意排版和写明出处:

题:有12大小相同颜色相同的球,有一颗球重量不同,有一个天平,最尽量少的次数测出哪颗球有问题,有问题的球相对于其它球是重还是轻!

发现思维局限的由来:这道题我之前想法是天平将球6:6称,2:2的称,1:1,这几种是人常规思维,和我一样,后面又想到2:10、3:9、4:8这几种,因为后面数是前面数的倍数,我想通过这个关系来找,想起来只有天平, 没有砝码,看不到具体的倍数关系,只能看到天平左边倾斜还是右边,就放弃了这几种想法,研究前面的3中,发现6:6分的时候,我可以再拆开3:3的,这时候有人提出了一种想法,我理解起来也有点费事,磨了半天的时间理顺了想通了的过了几遍才发现自己的思维的局限在哪,所以接下来我先叙述我推崇的他这种算法:

第一步:将球标号1-12号球,分为三堆,我们就分为1-4、5-8、9-12,将任意两堆放到天平左右两边,假设我左边放1-4,右边放5-8,剩下9-12

第二步:看天平两边是否平衡,如果平衡说明了问题的球在第三堆(思维局限1:只关注天平两端,剩下的也是信息

第三步:这下好解决了,这里就简单了,你可以拿1-8任意一球来和这四颗称,最坏的情况是你这样称了三次,三次天平还平衡第四颗是有问题的,想要知道重量在称一次

              还有一种,任意拿两颗标准球来和这四颗中任意两球比,看天平平衡来确定

               还有一种,任意拿三颗标准球来和这四颗球中的任意两颗球来对比----->结束

第四步:第二步中天平不平衡而引发的问题,如果左边1-4>右边5-8(>代替左边重,代表天平哪边更低,这里有人会犯迷糊,左重右只能说明这八颗球中有问题球,有可能是在左边,那这颗球是重的,有可能在右边,那这颗球是轻的),将左边中随意拿出去3颗球放出去(假如拿出去的球是2-4),将右边盘随机拿3个球放左边盘上(假如是6-8),右盘上放三个标准球,这样有三种情况(左>右、左<右、左==右)下面依次来分析(局限思维2:在第四步中说明问题球在1-8中,却敢将其中有可能是答案的球抛出去

第五步:左==右:说明6-8和拿来的三个标准器是相同的,说明了两点问题:在拿出去的三颗球(2-4)中,且问题球是重的,3颗球好解决了,按第三步的来-->结束

第六步:左>右:没有拿出去2-4左>右,拿出去换了球还是左>右,说明问题出在1和5身上,用标准球测-->结束

第七步:左<右:天平倾斜方向变了,说明了两点问题:问题球在6-8中,且问题球是轻的--->

第八步:还没测出来重复第四步,>换做< -->解决

总结:思维过于僵硬,即使别人说出来还要多请教两次才能弄懂

代码:附在最后

优点:运行效率高

缺点:编程效率太低了

第二种方法:常规,将球分为4个3,分别3:3称

优点:编程效率大大高于上面的方法

缺点:运行效率要比上面的方法小一点



  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值