一个算法,大家求解一下!谢谢 120枚外观相同的硬币中,有一枚是假的,已知假币与真币的重量不同,不知道假币与真币相比较轻还是较重。可以通过一架天平来任意比较两组硬币,能不能只比较5次就能检测出这枚假币(最坏情况下)? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 这个我刚才通过流程图写出来分析得出我个人的答案:至少需要6次废话少说看分析:首先要考虑的一个问题是这枚假币到底是比普通的硬币重还是轻,这个是一个要考虑的问题,暂且放一下;开始比较: A :B1st: 60 :60 (假设A组重,B组轻)测出A组重,如果假币比常规硬币中,那么假币就是在A组的60枚硬币中,反之,在B组的60枚硬币中。2nd:A组的60枚 30:30 如果重量一样,假币则在B组中,反之就在A组中3rd: 15:154th:7:8以此类推:5th:13:45th:24:4...推出至少要6次给分,结贴! 我只推出一种情况下只要5次肯定能分出,即使不知道假币是重是轻,但算法哪里好像还是有问题第一次2边各60个,有一边稍重60a | 60b第二次各边都先看成两堆也就是30a 30a | 30b 30b然后左边的其中一堆30个和右边的其中一堆30个互换,30a 30b | 30b 30a2中情况:1。这时如果天平保持和原来一样的状态,那换的这两堆60个肯定全是真币, 2. 否则假币在换的这两堆60个里不管哪种情况,都有60个真币挑出,剩下60个。第三次各边都先看成两堆也就是15a 15a | 15b 15b然后左边的其中一堆15个和右边的其中一堆15个互换,15a 15b | 15b 15a2中情况:1。这时如果天平保持和原来一样的状态,那换的这两堆30个肯定全是真币, 2. 否则假币在换的这两堆30个里不管哪种情况,都有30个真币挑出,剩下30个。第四次各边都先看成三堆也就是7a 7a | 7b 7b 多出来的那两个拿出来这时2中情况:1.天平保持平衡了,那假币在多出来的那2个里 那剩下的2个里挑一个和天平上任意一个币互换,就是第五次 如果天平不平了,那换进去的那个就是假的 如果天平还是平的,那剩下的那个就是假的2.。。 40 40 40 13 13 144 4 5 &4 5 52 2 & 2 2 11 1如果最huai运气的话 可以5次出来 6次第一次比较 A60>B60 A60分成a(1)30>a(2)30 第二次比较 a(1)30>a(2)30&a(1)30<a(2)30 a(1)30=a(2)30 得出假币重 得出假币轻 30 B60 10,10,10 b20,b20,b20 第三次比较 10与10 20与20 10 20 4,4,3 7,7,6第四次比较 4与4 7与7 = # <> = # <> # # 4 # 3 7 # 6 # # 2,2 # 1,1,1 2,2,3 # 2,2,2 # #第五次比较 2与2 # 1与1 2与2 # 2与2 # = # <> # 2 # 1 2 # 3 # 2 # # # 1 1 # 1,1 # 1,1,1 # 1,1------------------------------------------------------------#----------------------------------------------------第六次比较 1与1 1与1# 1与1 1与1 1 1 1 1 7a 7a | 7b 7b 多出来的那两个拿出来 这时2中情况: 1.天平保持平衡了,那假币在多出来的那2个里 那剩下的2个里挑一个和天平上任意一个币互换,就是第五次 如果天平不平了,那换进去的那个就是假的 如果天平还是平的,那剩下的那个就是假的 2.。。 进行最后一次前如果是平衡的话就不是靠运气,你想啊,如果7a 7a | 7b 7b +2个多的如果平衡,那天平上的14×2=28个肯定都是真的么,因为假币只有一个,如果里面有假币,要么在左边,那么在右边,那肯定有一边稍重或稍轻的么,那也就是说假币在多出来的那2个里,也就是真14a|真14b +2个(不妨设为疑似假币1和疑似假币2)那第五次就在多出来的2个里随便拿一个去替换,那无非4中结果放进去的刚好是假的1. 真13a+1假币|真14b 剩1真币2. 真14a|真13b+1假币 剩1真币放进去的刚好是真的3. 真13a+1真|真14b 剩1假币4. 真14a|真13b+1真 剩1假币那你想么,原来是平衡的,那如果换进去了一个假的,那肯定不平衡了么,所以第1、2种天平马上不平衡,那你刚放进去的那个就肯定是假的么,手里最后那个是真的,刚放进去那个假的再拿出来就找到了如果天平原来是是平衡的,你换了一个又还是平衡的,那意味什么?只有你换进去的那个是真币才可能是继续平衡的,那手头最后那个肯定是假的了么现在只有第四次后天平不是平衡的,才没办法5次判断了,因为这种情况下假币在天平里,而不是在剩下的那2个里我都解释得这么清楚了,再有人看不明白我也没办法了 这是网上一个类似问题的答案你可以参考下----------------------------------12个球一个天平,现知道只有一个和其他的重量不同,问怎样称才能用3次就找出那个球?13个球呢? 注意:此题并没有说明那个球的重量是轻是重,所以需要仔细考虑 欢迎用多种方法----------------------------------最佳答案 此答案由提问者自己选择,并不代表爱问知识人的观点 揪错 ┆ 评论 ┆ 举报 姑苏寒士[先知] 这个问题已经有过了,答案COPY如下: 这是一道经典题,能提出来讨论是很快乐的。谢谢你给我这个机会。 方法: 1。把球编号为1,2,3,4,5,6,7,8,9,10,11,12;将1,2,3,4, 放在左边;5,6,7,8,放在右边称重;如果无轻重,次品在9,10,11,12,中(这留给你继续讨论)如果有轻重,次品在天平上的八个球中; 2。把1,2,5,6,放在左边;3,7,9,10,放在右边称重; 2-1 如果无轻重,次品在4,8,中;3。把4,放在左边;5,放在右边称重;如果无轻重,次品是8,如果有轻重,则次品是4, 2-2如果有轻重,(注意:这里是关键)要看天平的倾向,2-2-1如果与第1。次相同,次品在1,2,7,中;3。把1,放在左边;2,在右边称重;如果无轻重,次品是7,如果有轻重,看天平的倾向;不变的,次品是1,否则是2, 2-2-2如果与第1。次反向,次品在3,5,6,中,同理,可用称5,6,的方法找出次品。这不是解决了吗?这个方法可在十三个球中找出次品。留给你享受吧! 这个称重法可以推广到用N次称(3的N次方-1)/2个球。本人作过详细的证明。 在《数学万花镜》一书中,还介绍了用计算的方法来找的式子,有机会看看。挺有趣的。 回答:2005-04-22 22:50提问者对答案的评价:好方法! 共3条评论... 经验证,不知假币轻重5次也可行。首先得清楚这样一个事实:1 如果知道假币轻重的话,若想1次比较就能得出结果,那么总币数不能超过3个,2次比较得出结果,总币数不能超过9个,也就是说9个硬币通过2次判断便可找出假的。很简单,把9个平均分成3份 c(9)=c(3)+c(3)+c(3),任取2份进行比较,2次就可找出假币同理,3次比较能找出假币的总币数上限为27个2.如果不知道假币轻重,在借助已知正常币的情况下,若想1次比较就能得出结果,那么币数只能为2个,2次比较能得出结果,总币数上限为4个,这样比较:在正常币中任取3个,同时在这4个中任取3个进行比较, 结果1:相等,剩下的是假币 结果2:不等,剩下的一个是真币,另外,由于天平的一端为正常币,可知假币的轻重, 所以这3个可以再通过一次比较找出假币。下面开始进行比较:-------------------------------------------------------------------------------------第一次比较:把120个平均分成3份,即a(40),b(40),c(40),将a,b进行比较 分支1:a=b c里含假币, 分支2:a!=b c里40个硬币均是正常的先进行分支1的比较第二次比较:c(40)分为2份,即c(40)=c(27)+c(13),另外从a,b中任取27个与c(27)比较 结果1:相等,c(13)里含假,再把c(13)分成2份即 c(13)=c(9)+c(4),此时还剩下3次比较 取9个正常币与c(9)比较 结果1:相等,c(4)含假,剩下的2次比较可以完成 结果2:不等 c(9)含假,并且可知假币的轻重, 剩下的2次比较可以完成 结果2:不等,c(27)含假,并且可知假币的轻重,此时在剩下的3次比较中也可找出假币----------------------------------------------------------------------------------- 再来看分支2的比较:分支2是a!=b,c(40)为正常币,记录下此时天平的状态,这里假设a<b 并且a(40)在左面,b(40)在右边,天平向右倾斜第二次比较:从a中取出27个硬币,从b中拿出27个硬币放入a中,同时从c(40)(已知正常币)中拿来27个放入b中,天平左边:a(13)+b(27),右边:b(13)+c(27)(这27个是正常币)这时两边正好又都是40个,进行比较: ----第2次,剩下3次 结果1:天平恢复平衡,结论:从a中取走的27个里含假,并且可知假币的轻重,因为假设a<b。所以 假币为轻,剩下3次比较可以在这27个中找出假币 结果2:天平向左倾斜,结论:a中拿走的27个肯定是正常的(因为此时天平不平衡) 如果b拿到a的27个都是正常的,则天平的状态应该保持不变,所以 b拿向a的27个里面必然有假,并且可知假币轻重,这里假币为重,剩下的3次比较便可完成 结果3:天平状态保持不变,结论:a(13)或者b(13)含假,其余均为正常 结果3的第三次比较:把b(27)和c(27)从天平上拿走,此时天平左边a(13),右边b(13),从 a(13)中取出9个,b(13)中取出9个放到a中,从c中取出9个放到b中,此时: 天平左边:a(4)+b(9)右边 b(4)+c(9)(这9个已知正常)进行比较:---还剩下2次 结果1:天平恢复平衡,结论:a中取出的9为假,可知轻重,剩下的2次比较可以完成 结果2:天平向左倾斜,结论:a中取出的9个为正常(因为天平依然不平衡) 如果b拿到a的9个正常,则天平应该保持不变, 所以,这9个含假,并且可知轻重,剩下2次比较可以完成 结果3: 天平状态不变,a(4)或者b(4)含假,a(9)和b(9)皆为正常 从a(4)拿走3个,b(4)中取出3个放到a中,c中取出3个放到b中 此时天平左边:a(1)+b(3)右边:b(1)+c(3)进行比较: --第4次剩1次 结果1:恢复平衡,a中取出的3个有假,可知轻重 ,剩下1次比较可搞定 结果2:翻转,b拿向a的3个有假,并且可知轻重,剩下1次比较也可搞定 结果3: 状态不变,a(1)或者b(1)有假,剩下1次也可搞定 怎么才能实现图片打印功能。。。。求代码 itext 自定义页面大小(pdf) 无法在WEB服务器上调试 服务器不支持ASP.NET或ATL Server程序进行调试 想动态声明 timer 请问如何声明 新手关于委托 怎么控制控件的呈现位置? 请教,我的visual studio.net的起始页里怎么。。。。 很奇怪的问题,高手帮忙! 问个很傻的问题 请不要笑我 如何修改DataGrid控件中表的列的宽度显示? 为什么在VS2005建立的.ascx文件没有对应的.ascx.cs文件呢? 大家帮帮忙 这个段代码怎么改
废话少说看分析:
首先要考虑的一个问题是这枚假币到底是比普通的硬币重还是轻,这个是一个要考虑的问题,暂且放一下;
开始比较:
A :B
1st: 60 :60 (假设A组重,B组轻)
测出A组重,如果假币比常规硬币中,那么假币就是在A组的60枚硬币中,反之,在B组的60枚硬币中。2nd:A组的60枚
30:30
如果重量一样,假币则在B组中,反之就在A组中
3rd: 15:154th:7:8以此类推:
5th:13:45th:2
4:4.
.
.
推出至少要6次给分,结贴!
60a | 60b第二次各边都先看成两堆也就是
30a 30a | 30b 30b
然后左边的其中一堆30个和右边的其中一堆30个互换,
30a 30b | 30b 30a
2中情况:1。这时如果天平保持和原来一样的状态,那换的这两堆60个肯定全是真币,
2. 否则假币在换的这两堆60个里
不管哪种情况,都有60个真币挑出,剩下60个。第三次各边都先看成两堆也就是
15a 15a | 15b 15b
然后左边的其中一堆15个和右边的其中一堆15个互换,
15a 15b | 15b 15a
2中情况:1。这时如果天平保持和原来一样的状态,那换的这两堆30个肯定全是真币,
2. 否则假币在换的这两堆30个里
不管哪种情况,都有30个真币挑出,剩下30个。第四次各边都先看成三堆也就是
7a 7a | 7b 7b 多出来的那两个拿出来
这时2中情况:
1.天平保持平衡了,那假币在多出来的那2个里
那剩下的2个里挑一个和天平上任意一个币互换,就是第五次
如果天平不平了,那换进去的那个就是假的
如果天平还是平的,那剩下的那个就是假的
2.。。
13 13 14
4 4 5 &4 5 5
2 2 & 2 2 11 1
如果最huai运气的话 可以5次出来
A60分成a(1)30>a(2)30
第二次比较 a(1)30>a(2)30&a(1)30<a(2)30 a(1)30=a(2)30
得出假币重 得出假币轻
30 B60 10,10,10 b20,b20,b20
第三次比较 10与10 20与20 10 20 4,4,3 7,7,6第四次比较 4与4 7与7 = # <> = # <>
# #
4 # 3 7 # 6
# #
2,2 # 1,1,1 2,2,3 # 2,2,2
# #
第五次比较 2与2 # 1与1 2与2 # 2与2
# = # <> #
2 # 1 2 # 3 # 2
# # #
1 1 # 1,1 # 1,1,1 # 1,1
------------------------------------------------------------#----------------------------------------------------
第六次比较 1与1 1与1# 1与1 1与1
1 1 1 1
7a 7a | 7b 7b 多出来的那两个拿出来
这时2中情况:
1.天平保持平衡了,那假币在多出来的那2个里
那剩下的2个里挑一个和天平上任意一个币互换,就是第五次
如果天平不平了,那换进去的那个就是假的
如果天平还是平的,那剩下的那个就是假的
2.。。 进行最后一次前如果是平衡的话就不是靠运气,你想啊,如果
7a 7a | 7b 7b +2个多的
如果平衡,那天平上的14×2=28个肯定都是真的么,因为假币只有一个,如果里面有假币,要么在左边,那么在右边,那肯定有一边稍重或稍轻的么,
那也就是说假币在多出来的那2个里,
也就是
真14a|真14b +2个(不妨设为疑似假币1和疑似假币2)那第五次就在多出来的2个里随便拿一个去替换,那无非4中结果放进去的刚好是假的
1. 真13a+1假币|真14b 剩1真币
2. 真14a|真13b+1假币 剩1真币
放进去的刚好是真的
3. 真13a+1真|真14b 剩1假币
4. 真14a|真13b+1真 剩1假币那你想么,原来是平衡的,那如果换进去了一个假的,那肯定不平衡了么,所以第1、2种天平马上不平衡,那你刚放进去的那个就肯定是假的么,手里最后那个是真的,刚放进去那个假的再拿出来就找到了
如果天平原来是是平衡的,你换了一个又还是平衡的,那意味什么?只有你换进去的那个是真币才可能是继续平衡的,那手头最后那个肯定是假的了么现在只有第四次后天平不是平衡的,才没办法5次判断了,因为这种情况下假币在天平里,而不是在剩下的那2个里我都解释得这么清楚了,再有人看不明白我也没办法了
----------------------------------
12个球一个天平,现知道只有一个和其他的重量不同,问怎样称才能用3次就找出那个球?13个球呢?
注意:此题并没有说明那个球的重量是轻是重,所以需要仔细考虑
欢迎用多种方法
----------------------------------
最佳答案 此答案由提问者自己选择,并不代表爱问知识人的观点 揪错 ┆ 评论 ┆ 举报
姑苏寒士
[先知] 这个问题已经有过了,答案COPY如下:
这是一道经典题,能提出来讨论是很快乐的。谢谢你给我这个机会。
方法:
1。把球编号为1,2,3,4,5,6,7,8,9,10,11,12;将1,2,3,4, 放在左边;5,6,7,8,放在右边称重;如果无轻重,次品在9,10,11,12,中(这留给你继续讨论)如果有轻重,次品在天平上的八个球中;
2。把1,2,5,6,放在左边;3,7,9,10,放在右边称重;
2-1 如果无轻重,次品在4,8,中;3。把4,放在左边;5,放在右边称重;如果无轻重,次品是8,如果有轻重,则次品是4,
2-2如果有轻重,(注意:这里是关键)要看天平的倾向,2-2-1如果与第1。次相同,次品在1,2,7,中;3。把1,放在左边;2,在右边称重;如果无轻重,次品是7,如果有轻重,看天平的倾向;不变的,次品是1,否则是2,
2-2-2如果与第1。次反向,次品在3,5,6,中,同理,可用称5,6,的方法找出次品。这不是解决了吗?这个方法可在十三个球中找出次品。留给你享受吧!
这个称重法可以推广到用N次称(3的N次方-1)/2个球。本人作过详细的证明。
在《数学万花镜》一书中,还介绍了用计算的方法来找的式子,有机会看看。挺有趣的。 回答:2005-04-22 22:50
提问者对答案的评价:
好方法!
共3条评论...
首先得清楚这样一个事实:
1 如果知道假币轻重的话,若想1次比较就能得出结果,那么总币数不能超过3个,2次比较得出结果,总币数
不能超过9个,也就是说9个硬币通过2次判断便可找出假的。很简单,把9个平均分成3份
c(9)=c(3)+c(3)+c(3),任取2份进行比较,2次就可找出假币
同理,3次比较能找出假币的总币数上限为27个2.如果不知道假币轻重,在借助已知正常币的情况下,若想1次比较就能得出结果,那么币数只能为2个,
2次比较能得出结果,总币数上限为4个,这样比较:
在正常币中任取3个,同时在这4个中任取3个进行比较,
结果1:相等,剩下的是假币
结果2:不等,剩下的一个是真币,另外,由于天平的一端为正常币,可知假币的轻重,
所以这3个可以再通过一次比较找出假币。
下面开始进行比较:
-------------------------------------------------------------------------------------
第一次比较:把120个平均分成3份,即a(40),b(40),c(40),将a,b进行比较
分支1:a=b c里含假币,
分支2:a!=b c里40个硬币均是正常的
先进行分支1的比较
第二次比较:c(40)分为2份,即c(40)=c(27)+c(13),
另外从a,b中任取27个与c(27)比较
结果1:相等,c(13)里含假,再把c(13)分成2份即 c(13)=c(9)+c(4),此时还剩下3次比较
取9个正常币与c(9)比较
结果1:相等,c(4)含假,剩下的2次比较可以完成
结果2:不等 c(9)含假,并且可知假币的轻重,
剩下的2次比较可以完成
结果2:不等,c(27)含假,并且可知假币的轻重,此时在剩下的3次比较中也可找出假币
-----------------------------------------------------------------------------------
再来看分支2的比较:分支2是a!=b,c(40)为正常币,记录下此时天平的状态,这里假设a<b
并且a(40)在左面,b(40)在右边,天平向右倾斜
第二次比较:从a中取出27个硬币,从b中拿出27个硬币放入a中,同时从c(40)(已知正常币)
中拿来27个放入b中,天平左边:a(13)+b(27),右边:b(13)+c(27)(这27个是正常币)
这时两边正好又都是40个,进行比较: ----第2次,剩下3次
结果1:天平恢复平衡,结论:从a中取走的27个里含假,并且可知假币的轻重,因为假设a<b。所以
假币为轻,剩下3次比较可以在这27个中找出假币
结果2:天平向左倾斜,结论:a中拿走的27个肯定是正常的(因为此时天平不平衡)
如果b拿到a的27个都是正常的,则天平的状态应该保持不变,所以
b拿向a的27个里面必然有假,并且可知假币轻重,这里假币为重,剩下的3次比较便可完成
结果3:天平状态保持不变,结论:a(13)或者b(13)含假,其余均为正常
结果3的第三次比较:把b(27)和c(27)从天平上拿走,此时天平左边a(13),右边b(13),
从 a(13)中取出9个,b(13)中取出9个放到a中,从c中取出9个放到b中,此时:
天平左边:a(4)+b(9)右边 b(4)+c(9)(这9个已知正常)进行比较:---还剩下2次
结果1:天平恢复平衡,结论:a中取出的9为假,可知轻重,剩下的2次比较可以完成
结果2:天平向左倾斜,结论:a中取出的9个为正常(因为天平依然不平衡)
如果b拿到a的9个正常,则天平应该保持不变,
所以,这9个含假,并且可知轻重,剩下2次比较可以完成
结果3: 天平状态不变,a(4)或者b(4)含假,a(9)和b(9)皆为正常
从a(4)拿走3个,b(4)中取出3个放到a中,c中取出3个放到b中
此时天平左边:a(1)+b(3)右边:b(1)+c(3)进行比较: --第4次剩1次
结果1:恢复平衡,a中取出的3个有假,可知轻重 ,剩下1次比较可搞定
结果2:翻转,b拿向a的3个有假,并且可知轻重,剩下1次比较也可搞定
结果3: 状态不变,a(1)或者b(1)有假,剩下1次也可搞定