有趣的问题--12 coins problem
问题描述:
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的更多相关文章
- 实验12:Problem I: 成绩排序
Home Web Board ProblemSet Standing Status Statistics Problem I: 成绩排序 Problem I: 成绩排序 Time Limit: 1 ...
- 实验12:Problem H: 整型数组运算符重载
Home Web Board ProblemSet Standing Status Statistics Problem H: 整型数组运算符重载 Problem H: 整型数组运算符重载 Tim ...
- 实验12:Problem F: 求平均年龄
Home Web Board ProblemSet Standing Status Statistics Problem F: 求平均年龄 Problem F: 求平均年龄 Time Limit: ...
- 实验12:Problem C: 重载字符的加减法
Home Web Board ProblemSet Standing Status Statistics Problem C: 重载字符的加减法 Problem C: 重载字符的加减法 Time ...
- 实验12:Problem J: 动物爱好者
#define null ""是用来将字符串清空的 #define none -1是用来当不存在这种动物时,返回-1. 其实这种做法有点多余,不过好理解一些. Home Web B ...
- 实验12:Problem G: 强悍的矩阵运算来了
这个题目主要是乘法运算符的重载,卡了我好久,矩阵的乘法用3个嵌套的for循环进行,要分清楚矩阵的乘法结果是第一个矩阵的行,第二个矩阵的列所组成的矩阵. 重载+,*运算符时,可以在参数列表中传两个矩阵引 ...
- 实验12:Problem E: 还会用继承吗?
Home Web Board ProblemSet Standing Status Statistics Problem E: 还会用继承吗? Problem E: 还会用继承吗? Time Li ...
- 实验12:Problem D: 判断两个圆之间的关系
Home Web Board ProblemSet Standing Status Statistics Problem D: 判断两个圆之间的关系 Problem D: 判断两个圆之间的关系 T ...
- xtuoj 1233 coins(dp)
Coins Accepted : 120 Submit : 305 Time Limit : 1000 MS Memory Limit : 65536 KB Coins Problem Des ...
随机推荐
- Containers Reserved yarn resourcemanager
yarn rm的管理页面中显示了集群的概况,其中有一个指标叫Containers Reserved . 预留的容器,为什么会预留,集群的资源使用饱合,新的app请求的资源一般会进入pending状态, ...
- 理解 OpenStack + Ceph (8): 基本的 Ceph 性能测试工具和方法
本系列文章会深入研究 Ceph 以及 Ceph 和 OpenStack 的集成: (1)安装和部署 (2)Ceph RBD 接口和工具 (3)Ceph 物理和逻辑结构 (4)Ceph 的基础数据结构 ...
- Miller-Rabin素数快速检测
满足费马小定理 a^(n-1) === 1(mod n) --->伪素数 对于所有a belong Zn*,总存在满足的合数n,称为Carmichael数 ------------- ...
- 常见sql数据类型
数值型类型 INT 从-231到-231-1的整型数据,存储大小2个字节 SMALLLINT 从-32768到32767的整数数据,存储大小4个字节 TINYINT 0~255的整数类型,存储大小1个 ...
- KSFramework配置表:扩展表格解析类型
解析和扩展表格 配置表示例 配置表模块在编译时,把Excel转化成TSV,并根据Excel的头部信息,生成对应的代码: 比如源码库中的Test.xlsx Excel文件,两个列头,Id和Value,其 ...
- java 25 - 1 网络编程的概述
网络编程概述 计算机网络 是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统. ...
- java 24 - 11 GUI之制作登陆注册页面
简单说说,懒得发了... 步骤: A:首先写出登陆注册需要用到类以及代码(IO流) B:然后创建登陆窗口和注册窗口 C:各个监听事件: a:登录窗口 1.重置:把2个文本框的内容全部清空 2.注册:关 ...
- C#开源系统大汇总
一.AOP框架 Encase 是C#编写开发的为.NET平台提供的AOP框架.Encase 独特的提供了把方面(aspects)部署到运行时代码,而其它AOP框架依赖配置文件的方式.这种部署方面(as ...
- UML类图归纳
作为一个程序员,掌握UML类图是开发和阅读程序的基础. 转载请注明地址http://www.cnblogs.com/zrtqsk/p/3739288.html,谢谢! 一.基本介绍 UML是一种标准的 ...
- jboss:在standalone.xml中设置系统属性(system-properties)
就象在.net的web应用中,可以在web.config中设置appSettings一样,jboss的standalone.xml中也可以由开发人员自行添加系统属性,用法如下: </extens ...