问题描述:

12个金币,其中有一枚是假的,重量与众不同。

现有一架天平,需要你用最少的次数来称重,然后告诉我:

(1)哪个金币是假的

(2)它到底是更轻还是更重。

 

(注:此处为3次)

 

 

{解题说明:

第一步: 一边4个,如果天平是平的,假币就在剩下的4个中,否则就在天平上的8个中。现在分情况1:在4个中: 之间再在天平上一边1个,这样不管哪种情况待排除的就剩下2个了,拿着两个和标准的(也就是你已经排除过的某个)比一下就好了情况

2:天平上的8个中,这里有一个要点:重的球每次称那一侧都会重,轻的球每次称那一侧都会轻,所以有时轻有时重的肯定是普通的给这8个球编个号,重的一组叫1 2 3 4,轻的一组叫5 6 7 8,还有4个正常的球都叫x好了。

注意这里我得到了两种解决方法而且不排除会有第三种第四种或者更多:

方法1:

1.天平左边摆上1XXX  ,右边摆上2348

2.1如果出现了   左边依旧重于右边的话,我们可以知道1和8是有问题,但是不知道假币是更轻还是更重(因为234中不存在能对结果产生影响的影响因子,XXX都为正常的)

2.2如果出现了    两侧一样   重的话,我们可以得出 出问题的在于(5,6,7),由情况2的已知条件可以知道出问题的假币应该是更轻,很简单可以通过一次称量在5,6,7中找到这枚假币!——ex:5左6右,斜了的话轻为假,平的话7为假。

(方法1这段是我个人描述)​

方法2:

我们左边摆1 2 5, 右边摆3 6 X,剩下4 7 8不放上来,假设天平平了,那么在4 7 8中,称一下78即可,平了表示4是重了的,不平谁轻就是谁现在看天平不平的情况:假如1 2 5 重, 那么候选的球是1 2 6,和上面类似,称12即可。假如1 2 5 轻,那么候选的球是3 5,两个球随便和标准球比一下好了

解题完毕}​

在这之后我通过搜索获取了一些信息,关于这个问题国外有人发过paper呢,用信息论的知识进行了解释并且做了推广。

后来我去图书馆借了《信息论基础》——美国两位作者合著的书籍,翻阅了一下,发现信息论跟我想象的还是有很大不同的,我本希望能通过信息论来帮助自己掌握一些哲学上的原理来指导生活(好吧确实是这样~~~~)可此时发现信息论涉及到非常多的数学原理,对数学的要求较高,目前更多的是应用于编码工作,这对于通信工程的人还是很有帮助的。一些阅读之后很快证明自己不感兴趣。

最后:

如果对于  12coins 问题怀有兴趣并且希望能得到一些启发的话,我推荐这篇文章,相信一定能开拓你的思维:

类似的问题:N 个乒乓球中有一个和其他的质量不同,用天平最少几次一定能称出来? 知乎讨论

就酱  :)

有趣的问题--12 coins problem的更多相关文章

  1. 实验12:Problem I: 成绩排序

    Home Web Board ProblemSet Standing Status Statistics   Problem I: 成绩排序 Problem I: 成绩排序 Time Limit: 1 ...

  2. 实验12:Problem H: 整型数组运算符重载

    Home Web Board ProblemSet Standing Status Statistics   Problem H: 整型数组运算符重载 Problem H: 整型数组运算符重载 Tim ...

  3. 实验12:Problem F: 求平均年龄

    Home Web Board ProblemSet Standing Status Statistics   Problem F: 求平均年龄 Problem F: 求平均年龄 Time Limit: ...

  4. 实验12:Problem C: 重载字符的加减法

    Home Web Board ProblemSet Standing Status Statistics   Problem C: 重载字符的加减法 Problem C: 重载字符的加减法 Time ...

  5. 实验12:Problem J: 动物爱好者

    #define null ""是用来将字符串清空的 #define none -1是用来当不存在这种动物时,返回-1. 其实这种做法有点多余,不过好理解一些. Home Web B ...

  6. 实验12:Problem G: 强悍的矩阵运算来了

    这个题目主要是乘法运算符的重载,卡了我好久,矩阵的乘法用3个嵌套的for循环进行,要分清楚矩阵的乘法结果是第一个矩阵的行,第二个矩阵的列所组成的矩阵. 重载+,*运算符时,可以在参数列表中传两个矩阵引 ...

  7. 实验12:Problem E: 还会用继承吗?

    Home Web Board ProblemSet Standing Status Statistics   Problem E: 还会用继承吗? Problem E: 还会用继承吗? Time Li ...

  8. 实验12:Problem D: 判断两个圆之间的关系

    Home Web Board ProblemSet Standing Status Statistics   Problem D: 判断两个圆之间的关系 Problem D: 判断两个圆之间的关系 T ...

  9. xtuoj 1233 coins(dp)

    Coins Accepted : 120   Submit : 305 Time Limit : 1000 MS   Memory Limit : 65536 KB Coins Problem Des ...

随机推荐

  1. 初识JNI

    需要用到NDK Android 平台从诞生起,就已经支持 C.C++开发.众所周知,Android 的 SDK 基于 Java 实现,这意味着基于 Android SDK 进行开发的第三方应用都必须使 ...

  2. TCMalloc 对MYSQL 性能 优化的分析

    虽然经过研究发现TCMalloc不适合我们现有的游戏框架,但意外收获发现TCMalloc可以大幅度提高MYSQL 性能及内存占用,这里给出配置及测试的结果: 1.配置 关于TCMalloc的安装,在& ...

  3. [转]Dropdownlist doesn't postback after Page_ClientValidate()

    本文转自:http://stackoverflow.com/questions/2083929/dropdownlist-doesnt-postback-after-page-clientvalida ...

  4. MMORGP大型游戏设计与开发(客户端架构 part13 of vegine)

    一些数据是需要不断改动的,程序不可能因为这些改动而不厌其烦的去改动代码,早期的这种做法就成了程序员们最悲哀的痛苦.自从有了数据管理后,程序的世界逐渐清晰,这些烦恼也不再出现,不过若是要很好的管理数据可 ...

  5. MyBatis使用总结+整合Spring

    MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis .20 ...

  6. 我的Github之旅(一)

    第一站:本地环境中的Github配置 1.参考链接 作为初学者,需要了解的有[本地环境中的github配置(基于mac)][1],以及git知识,这里推荐一个网站[猴子都能懂的Git入门][2],最后 ...

  7. java 常见数据类型

    int 4字节 -2 147 483 648-2 147 483 647(正好超过20亿) short 2字节 -32 768-32 767 long 8字节 -9 223 372 036 854 7 ...

  8. SpringMVC学习系列-后记 解决GET请求时中文乱码的问题

    SpringMVC学习系列-后记 解决GET请求时中文乱码的问题 之前项目中的web.xml中的编码设置: <filter> <filter-name>CharacterEnc ...

  9. [No00005C]我也入住Markdown

    概览 宗旨 Markdown 的目标是实现「易读易写」. 可读性,无论如何,都是最重要的.一份使用 Markdown 格式撰写的文件应该可以直接以纯文本发布,并且看起来不会像是由许多标签或是格式指令所 ...

  10. vijos[1355]车队过桥问题

    描述 现有N辆车要按顺序通过一个单向的小桥,由于小桥太窄,不能有两辆车并排通过.另外,由于小桥建造的时间已经很久,只能承受有限的重量,记为Max(吨).管理员将N辆车按初始的顺序分组,每次让一个组过桥 ...