- 主题:3进制的天平称球问题
看到有个家长问,新开一个帖子介绍下。
题目假设有一个重球混入了其他26个普通球中,球的外形一样,怎么用天平3次把这个球称出来。
把这27个球分别编号,编号顺序为
000
001
002
010
011
012
020
021
022
100
101
102
110
111
112
120
121
122
200
201
202
210
211
212
220
221
222
假定天平左边重为1,右边重为2,平衡为0 。那么
第一次: 把9个首位为1的球放在天平左边,9个首位为2的球放在天平右边,记录首位的实际数值;
第二次: 把9个次位为1的球放在天平左边,9个次位为2的球放在天平右边,记录次位的实际数值;
第三次: 把9个末位为1的球放在天平左边,9个末位为2的球放在天平右边,记录末位的实际数值;
最后把三个位的实际数值合起来就是该重球的编号了,比如第一次平,第二次左边重,第三次右边重。
那么重球就应该 012 第6个球。
这个题目其实利用了用三进制建模的思想把重球所在不同位置的三种状态转换成3进制的0,1,2 三个值。所以如果已知球重还是轻的话,称K次可以从 3的K次方个球中找到该球。
如果不知道球的轻重就比较复杂些,每个球对应着两个编码,而且要跑去000这种无法分辨的球,所以只能从(3的K次方-1)/2 中找到。
--
FROM 120.244.220.*
因为球如果轻或重有两种状态,比如如果是特殊球重在左边就是1 ,如果特殊球轻在左边就是 2
所以可以参照二进制的反码给每个球分配一个原码和一个对称码。 比如原码是101的对称码就是202,
000 因为原码和对称码都一样,所以舍弃。
那么对应得13个球就分别拥有
1 001 002
2 010 020
3 011 022
4 012 021
5 100 200
6 101 202
7 102 201
8 110 220
9 111 222
10 112 221
11 120 210
12 121 212
13 122 211
其中如果出现9号球,每次特殊球都在一边得话, 其实没法判断得,所以把9号球单独拿出来。
对1~8和10~13就是要对比的12个球。
由于每个球的两个原码和对称码都是标识同一个球,所以为了保证两边测量球数一样,我们更换其中的6 8 10 11的原码为对称码。
这样第一次左边放 5 7 12 13 ,右边放 6 8 10 11
第二次左边放 2 3 4 11 ,右边放 8 10 12 13
第三次左边放 1 3 10 12 ,右边放 4 6 7 13
测量出如果结果是 121 那么就是第12球为特殊球。 如果三次的结果是000,那么就是先取出的 9号球是特殊球。
这个题目我在网上看过很多资料,全是东拼西凑,没有一个讲的清楚。 什么信息论,墒,还有很多一会四个一会5个,还有只能测12个球(其实12个球是可以分出特殊球轻或重,13个球是不能分辨出轻或重)。
总之现在感觉现在没有人愿意老老实实的讲基础,把最基本的教材做好。
【 在 angrycm 的大作中提到: 】
: 为什么是3k-1/2 1是000,2是对应两种编码?
: 我记得有13个不知轻重的球能3次称出的题,但一直不知道是怎么操作的,您可否以类似方式演示下
: 发自「今日水木 on iPhone 8 Plus」
--
FROM 120.244.220.*
感觉你像培训班的老师, 讲的内容都是网上搜的。
【 在 gloop 的大作中提到: 】
: 12个球中有一个重量不一样但不知是轻了还是重了,可以三次称出。13个球不行。这个问题就不是用三进制了。而是用信息论。一次称量得到3种可能,三次称量最多能区分出3x3x3 = 27种不同的情况。对于已知是轻了还是重了的情况,用三进制刚好能完美编码3次称量的结果。但对于12个球未知轻重,三进制就失去了用武之地。三进制只是技术,信息才是本质。
: 用信息论的求解要点是,一次称量最多区分出3种可能,两次称量最多区分出9种可能。因此第一次称量后必须保证未决定的信息不超过9种可能,第二次称量后未决定的信息不超过3种可能。比如13个球,如果按4、4、5分组,天平左边放4个,右边放4个,剩余5个。那么当天平平衡的时候,剩余5个球,不知道是轻了还是重了,总共有10种可能,剩余的信息量过大,不能用剩余的两次称量决定。如果按5、5、3分组,天平不平衡的时候剩余的可能也是10种,所以13个球不可能用3次称量决定。这里没有严格使用信息论的术语,但对中小学生来讲这样最容易理解。
--
FROM 120.244.220.*
是,27个球有一个不知轻重当然3+1次可以。
但是实际上可以测的更多,比如k=4最多可以从40个球中测出不知轻重的一个。
【 在 ltln () 的大作中提到: 】
: 按你这个方法
: 不知道轻重的话第二次来定轻重就解决了
: 这样称k+1次就可以
: 【 在 apkstore 的大作中提到: 】
--
FROM 120.244.220.*
不需要再加,看我20楼已经把详细过程写的很清楚。
感觉大家现在的注意力都差,不愿意仔细的阅读大块的材料,当然确实现在也是太多粗制滥造的文字和图片视频带来的快餐式阅读给毁了。
【 在 luoluomi 的大作中提到: 】
: 中间再加一次就能知道轻重了
--
FROM 120.244.220.*
确实,海量信息时代是双刃剑,让人更快的获取信息也培养了惰性。
你发的网站挺有趣的,有时间我也做一个这样的程序。
【 在 FSCMajor 的大作中提到: 】
: 不是没人老老实实讲基础。而是现在的人都不喜欢去找资料和文献,都喜欢张着嘴等着喂。
: 都喜欢看个1分钟的视频就搞明白。5分钟的视频都懒得看,更不要说几页,几十页的pdf了。
: 12个小球这道题我小时候有一次考试遇到过,我记得用了一半儿的考试时间做,没做出来。那时候没有网络,这题困扰了我很久才做出来。后来数学好了,还研究了一下如何推广到n个小球。
: ...................
--
FROM 120.244.220.*
就是一种取码方式,网上有人用升码降码来解释也可以,但是目的只有一个,就是保证编码中 每个位的 0,1,2的总和是一样的。
另外12个球和13个的区别在
12个球可以保证找到坏球并且知道球的轻重
13个球只能保证找到坏球但不能保证知道球的轻重
【 在 retardate () 的大作中提到: 】
: 大意看懂了,但6,8,10,11用对称码,这四个数是怎么来的没太看明白
: 【 在 apkstore 的大作中提到: 】
: --来自微水木3.5.5
--
修改:apkstore FROM 120.244.220.*
FROM 120.244.220.*
嗯,这种方式确实理论性更强,但是就不好给孩子讲。
【 在 SHUOT () 的大作中提到: 】
: 其实9号的编码本身没问题,另外你说有的一会四个一会5个其实也没问题
: 本质上就是每个球的编码决定它对测量操作的要求
: 第i位上有值的球就必须参与第i次的测量。
: 所以如果不是满编码的情况,那就各个位就不会完全对称。如果选取的编码里第i位上有值的是10个
--
FROM 120.244.220.*
是的,确实如楼上SHOUT说的,球的编号没有实际的含义,只是该球编号决定了称量的位置,我也在想怎么改进能给孩子讲的时候能更好理解。
【 在 gloop () 的大作中提到: 】
: 1, 1, 1 和 2, 2, 2 编码并没有本质的问题。下面我的这种编码包含了 1, 1, 1 和 2, 2, 2,8号球就是。去掉的则是 1, 1, 2 和 2, 2, 1,以及必须去掉的 0, 0, 0。
:
: 1 0, 0, 2; 0, 0, 1
: 2 0, 1, 0; 0, 2, 0
--
FROM 120.244.220.*