12球称重C语言算法,12小球称重问题
题目:
已知有12个小球,一样的形状和外观,其中有一个是次品,现在给你一个无砝码的天平,称三次,
把这个次品找出来,并且求出这个次品相对真品是偏重还是偏轻?
解答:
首先把小球分成三堆,每堆四个。
A:(1,2,3,4)
B:(5,6,7,8)
C:(9,10,11,12)
情况 一:
1 第一称重
随便拿出两堆来称, 这里不妨假设拿出A和B
A(1,2,3,4)------------------------ B(5,6,7,8)
结果有两种可能性,第一种A和B相等,第二种A和B不相等。
对于第一种AB相等的情况。
那么C中肯定有一个次品了。接下来做第二次称重。
从AB中随便拿三个,从C中也随便拿三个
D(1,2,3)--------------- E(9,10,11)
第二次称重也有两种可能。
2.1 如果还是相等的话
那么剩下12就是次品。
第三次称重
随便拿一个球和最后剩下的12球相称就知道结果了。
2.2 如果第二次称重不相等的话。这里我们假设D
从E中任意拿两个出来做第三次称重。
F (10)------- G(11)
如果F==G 那么 9 是次品,而且次品是偏重的。
如果 F > G 那么 10 是次品,而且次品是偏重的。
如果 F < G 那么 11 是次品,而且次品是偏重的。
好了,到这里为止,对于一次称重出现相等的情况,我们已经给出了解答。
那么对于第一次称重就出现不相等的情况,我们做一下分析:
情况二:
1 第一称重 A B 不相等。我们不妨假设 A < B, 那么C中的9,10,11,12小球必然都是真品。注意这
个技巧是解决问题的关键。我们注意到这样一个事实如果只是交互真品,天平的状态是不会改变的。
好,我们做以下的交换
H (1,9,10,11) -----------------------------I(2,3,4,5)
因为我们知道9,10,11三个小球都是真品。现在做第二次称重。有两种情况:
2.1 天平保持原来的状态,也就是说 H < I, 那么我们可以知道2,3,4,6,7,8,9,10,11,12
都是真品,1,5小球中有一个是次品。好了,现在我们可以做第三次称重,从1,5中随便拿一个小球,
这里我们拿1小球,从2,3,4,6,7,8,9,10,11,12中随便拿一个,这里我们拿9小球。
做第三次称重,就可以知道结果了。
2.2 天平的状态发生了改变,这里还是有两种情况,第一种 H == I,第二种H > I
第一种 对于 H == I 来说,我们知道1,2,3,4,5 ,9,10,11,12 都是真品,
那么6,7,8,必定有一个是次品,因为,第一次称重的时候,我们知道 H < I ,那么也就是说次品是偏重的。
从6,7,8 任意拿出两个来称重,不妨拿出6,7做第三次称重,结果就出来了。
第二种 对于H > I 来说。我们可以知道2,3,4中必定有一个是次品。而且次品相对于真品来说是偏轻的。
因为原来 H < I ,现在是H > I ,那么必定是移动偏轻的次品才会导致这种情况。好,我们从2,3,4中
任意拿出两个,不妨拿出2,3 做第三次称重,就可以知道结果了。
解答完毕。
12球称重C语言算法,12小球称重问题相关推荐
- 天平找不同质量小球c语言,有12个小球,其中只有一个球质量和其它的不同。现只有一台托盘天平,怎样只称三次就把质量不同的球找出来...
把这12个球编号:1234 5678 ABCD 第一次,天平两边各放4个,比如是 1234 | 5678,有三种可能: 1. 两端平衡.说明目标球是在 ABCD 之中:12345678 是正常的. 第 ...
- 称球问题解析(1)- 12球
作者: Phill King 邮箱: phillking1982@163.com 原创文章,转载请注明出处. 有12个外表一模一样的小球,除了有一个小球略轻或略重,其他的小球质量都是一样的.要求用没砝 ...
- matlab最小字典序,12小球称重问题 完美解决方案(转自 skywind.name)
网上 有好几种 解决方案,skywind.name上的这个最棒, 赞一下! 可惜 偶 苦思冥想 3 个小时,思路换了3.4种,也没找到完美解决方案. 以下 是 转自 skywind.name 12个小 ...
- 12个球有一个坏的只能用天平称3次
将12个球编号1,2,3,4,5,6,7,8,9,10,11,12 方法一: 将12个球分为3组,一组4个球.第一组1,2,3,4,第二组5,6,7,8,第三组9,10,11,12 将第一组和第二组放 ...
- 有12个球,外形相同,其中一个小球的质量与其他11个不同,给一个天平,需要几次把这个小球找出来并且求出这个小球是比其他的轻还是重
有12个球,外形相同,其中一个小球的质量与其他11个不同,给一个天平,需要几次把这个小球找出来并且求出这个小球是比其他的轻还是重() A.3 B.5 C.7 D.9 分析: ...
- c语言中有12个球,数学老师做不出来的一道逻辑推理题
同志们 那个球不一定轻啊 正确的是 平分三份 取两分称 if(平) ......在未称过的4球中取两个放左边 和标准的球称(称过的球一定标准) ......if(平) ............在两次都 ...
- 小球称重的解法整合 N个小球有一个坏球,最少几次能找出坏球
小球称重的解法整合 N个小球有一个坏球,最少几次能找出坏球 最近在看小球称重的问题,之前只记住了公式,最近回过来看,发现知乎上多了一些优质答案,遂记录一下. 现附上学习地址 先说结论, N 个 ...
- 7个相同小球4个不同盒子_如何用天平称三次找出12个外观相同小球中仅有的一个次品?次品质量与正品不同。...
刷知乎看到这个问题: 12个相同的小球其中有一个质量不同,一个天平,称三次找出这个小球,请问怎么称?www.zhihu.com 为了给出通俗易理解的答案,写了这个文章,祝题主有情人终成眷属! 先祭出 ...
- 12个小球称3次得到质量不同的那个小球
问题: 有12个小球,其中有一个的质量与其它小球不同.有一个天平,但没有砝码.将这12个小球在这个天平上称3次,得到质量不同的那个小球. 思路: 对于这个问题,我们无法知道,那个质量不同的小球相比其它 ...
最新文章
- 从 Comparison/Converter 到Func 的进化
- select初始化默认选项
- 王高利:TCP Wrappers访问控制(hosts.allow,hosts.deny)
- 92.芯片组 93.北桥 94.南桥
- HTML5播放器:视频分段播放
- 织梦 mysql 配置文件_MySQL集群配置
- jQuery下如何使用Json传递数据
- 硬盘整数分区计算方法一般算法
- 台达PLC与台达DTE8路温控程序,威纶通触摸屏与温控器modbus485通讯
- 【IPTV】华为IPTV解决方案总体介绍
- java 面向对象三个特征_[Java] 面向对象的三个特征与含义
- 利用 MATLAB 编程实现 Newton 法与阻尼 Newton 法
- 《文献管理与信息分析》课程笔记
- AP微观和宏观经济学考察重点分析
- win32模拟鼠标动作
- 转折点:移动互联网时代的商业法则
- HA-Hadoop 高可用原理及搭建,什么是故障迁移理论,模拟
- 半导体电阻率的温度依赖性
- python里pickle的详细用法
- 中学生学习方法 摘自360问答