有趣的问题--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 ...
随机推荐
- android handler runnable使用实例(关键是内部run中停止)
.java package com.example.mydemo; import android.app.Activity; import android.os.Bundle; import andr ...
- C 运算符优先级
优先级 运算符 名称或含义 使用形式 结合方向 说明 1 [] 数组下标 数组名[常量表达式] 左到右 () 圆括号 (表达式)/函数名(形参表) . 成员选择(对象) 对象.成员名 -& ...
- AI (Adobe Illustrator)详细用法(三)
本文主要是介绍和色彩相关的用法. 一.路径外观设置 1.设置描边粗细 手动输入20px 下拉选择 鼠标选中数值,按向上或向下的箭头调整 在右边的描边菜单中修改 Note:按住shift键,然后上下箭头 ...
- POJ1837 Balance[分组背包]
Balance Time Limit: 1000MS Memory Limit: 30000K Total Submissions: 13717 Accepted: 8616 Descript ...
- Vijos1053 Easy sssp[spfa 负环]
描述 输入数据给出一个有N(2 <= N <= 1,000)个节点,M(M <= 100,000)条边的带权有向图. 要求你写一个程序, 判断这个有向图中是否存在负权回路. 如果从一 ...
- 面向对象——is和as运算符、泛型集合 List<T>
二:is和as运算符: (1) is运算符 is 运算符用于检查对象是否与给定类型兼容.如果兼容返回true,否则返回false; 一般用于查看某个类是否实现了某个接口,或者是不是某个类的子类; 例如 ...
- HTML-学习笔记(1)
HTML元素 HTML 元素指的是从开始标签(start tag)到结束标签(end tag)的所有代码. 大多数HTML元素可以嵌套(可以包含其他的HTML元素) HTML 文档由嵌套的 HTML ...
- SQL Server之游标的基础知识
什么是游标: 游标是可以在结果集中上下游动的指针. 游标的作用: --允许定位到结果集中的特定行. --从结果集的当前位置检索一行或多行数据. --支持对结果集中当前位置的行进行修改. 注意:游标虽然 ...
- IE浏览器下ajax缓存导致数据不更新的解决方法
摘自:http://www.iefans.net/ie-ajax-json-shuju-huancun/ 最近做设计的时候遇到一个小问题,当你用jquery的getjson函数从后台获取数据的时候,I ...
- 微软职位内部推荐-B&I Site Lead
微软近期Open的职位: Job Title: B&I Site Lead Division: Phones Quality, SWIQ Location: Beijing, China Mi ...