3次不僅能判斷出非標球,還能知其比標球重或輕。方法如下︰1、將12個球分為3組,每組4個,編號為a,b,c
2、取a,b兩組,放在天平兩端,有兩種情況︰甲、一樣重,乙、不一樣重
3、甲情況︰a,b均為標準球,從c組取出三個與三個標準球比較︰若相等,則將剩下的一個球就是非標球,與標準球比較則知它比標準重還是輕;若三球比標球輕,則從中取兩球比較,若相等,則剩下的一個比標球輕,若不等,輕的為非標;若三球比標球重的情況類似。
4、乙情況︰c組為標準球,若a組<b組,從a組取出三球,剩餘一個x,從b組取三球放入a組,剩餘一個y,將三標球放入b組。這時天平的變化有三種情況︰a<b,說明x,y有一個為非標,將x與標球比較,若相等,則y球比標球重,否則x為非標且輕;a=b,說明非標球在從a組取下的三球中且比標球輕,從中取兩球比較,若相等,則剩下的一個比標球輕,若不等,輕的為非標;a>b,說明非標球在從b組拿到a組的三球中且比標球重,從中取兩球比較,若相等,則剩下的一個比標球重,若不等,重的為非標。若a組>b組,法同。
2、取a,b兩組,放在天平兩端,有兩種情況︰甲、一樣重,乙、不一樣重
3、甲情況︰a,b均為標準球,從c組取出三個與三個標準球比較︰若相等,則將剩下的一個球就是非標球,與標準球比較則知它比標準重還是輕;若三球比標球輕,則從中取兩球比較,若相等,則剩下的一個比標球輕,若不等,輕的為非標;若三球比標球重的情況類似。
4、乙情況︰c組為標準球,若a組<b組,從a組取出三球,剩餘一個x,從b組取三球放入a組,剩餘一個y,將三標球放入b組。這時天平的變化有三種情況︰a<b,說明x,y有一個為非標,將x與標球比較,若相等,則y球比標球重,否則x為非標且輕;a=b,說明非標球在從a組取下的三球中且比標球輕,從中取兩球比較,若相等,則剩下的一個比標球輕,若不等,輕的為非標;a>b,說明非標球在從b組拿到a組的三球中且比標球重,從中取兩球比較,若相等,則剩下的一個比標球重,若不等,重的為非標。若a組>b組,法同。
A组:1,2,3,4
B组:5,6,7,8
C组:9,10,11,12注:以下称重时两组,先说的是天平左盘,后说的是天平右盘。如:1+2与3+4称,则1+2在左盘,3+4在右盘。
第一次称:A组和B组
如果相等,说明不同球在C组,A,B组中为标准球(标志为X)。
9+X与11+X称第二次:
如果相等,说明不同球在10,12之中,任选一个与标准球称第三次即可确认;
如果不等,说明不同球在9,11之中,任选一个与标准球称第三次即可确认。
如果不等,(记住此时天平的轻重方向)说明C组为标准球,将A,B组重新分组,从A组中抽出4,从B组中抽出7,8,将A组中的3与B组中的6互换,并在B组中加入一个标准球,这样A组中有:1,2,6,B组中有5,3,X。
1+2+6与5+3+X称第二次:
如果相等,说明不同球在4和7,8之中,将7+X与8+X称第三次:
如果相等,说明4是不同球。
如果不等,此时天平的轻重方向改变了说明7是不同球,否则8是不同球。
如果不等,此时天平轻重方向改变了,则说明不同球在3,6之中,任选一个与标准球称第三次即可确定。如果天平轻重方向未变,说明不同球在1,2和5之中,做法与上面相同,将1+X与2+X称第三次:
如果相等,说明5是不同球。
如果不等,此时天平的轻重方向改变了说明2是不同球,否则1是不同球。
借softsprite朋友的叙述,略加修改如下:
将十三个球编号为1,2,3...13,分成三组:
A组:1,2,3,4
B组:5,6,7,8
C组:9,10,11,12,13第一次称:A组和B组
if(相等)//说明不同球在C组,A,B组中为标准球(标志为X)。
{
9+X与10+11称第二次:
if(相等)//说明不同球在12,13之中,任选一个与标准球称第三次即可确认;
else if(不等)//说明不同球在9,10,11之中
{
取出9+X;
将10放到9的位置,称第三次
if(相等)//说明9是不同的球
else if(天平倾斜的方向与上次相同)//说明11是不同的球
else if(天平倾斜的方向与上次相反)//说明10是不同的球
}
}
else if(不等)
{
请参考softsprite先生的标准答案之“如果不等”部分
}
第一次:分三组[1、2、3、4]、[5、6、7、8]、[9、10、11、12]。然后分析。
第二次:分三组[2、3、4、5]、[6、7、8、9]、[10、11、12、1]再分析,此时可以得出不同的球是轻还是重。
第三次:分三组[3、4、5、6]、[8、9、10、11]、[12、1、2、3]。分析再综合分析可知。
这是90年代MicroSoft美国公司的面试答卷的最后一问题。考综合分析能力。上面的方法是唯一适合各种情况的答案。其中分析太复杂,我实在没时间再写出来。因为,MicroSoft的标准答案文字部分为2.5页信纸。如果大家想知道的话,可查阅1996--1998年(或者更早2年)读者文摘。
原题是“其中只有一个球的重量与其他球不同”,并不知其是较重还是较轻。既未仔细审题也未参考上面各位大虾的帖子,扣分!
A包括1、 2、 3、 4;
B包括5、 6、 7、 8;
C包括9、10、11、12。
2、取A,B两组,放在天平两端,有两种情況:
3、A=B:则A,B均为标准球,从C组取出三个球9、10、11与三个标准球比较:若相等,则将剩下的一个球12就是非标准球,与标准球比较就可以知道12比标准球重还是轻;若三球比标准球轻,则可从中取两球9、10比较,若9=10,则11比标准球轻,若9<10,9为非标准球,若9>10,则10位非标准球;若三球比标准球重的情况与之类似。
4、A<>B:C组为标准球,不妨设A组<B组,因为A组>B组是完全一样的。从A组取出三球1、2、3,剩余一个4(其实取那三个都可以,这里以次为例),从B组取三球5、6、7放入A组,剩余一个8,从C中取三个标准球放入B组。
这时A组有4、5、6、7,B组有8和三个标准球,天平有三种变化情况︰
A<B,说明4、8中有一个为非标准球,将4与标准球比较,若相等,则非标准球为8且比标准球重,否则非标准球为4且比标准球轻;
A=B,说明B组全部都是标准球,则非标准球在A组中拿出去的那三个(1、2、3)中,且非标准球的质量小于标准球的质量,从1、2、3中取1、2两球比较,若1<2,则1为非标准球,若1>2,则2为非标准球,若1=2,则3为非标准球;
A>B,说明非标准球比标准球重,且非标准球在从B组拿到A组的三个球(5、6、7)中,从5、6、7中取5、6两球比较,若5<6,则6为非标准球,若5>6,则5为非标准球,若5=6,则7为非标准球。
在3中,由于A=B,则后面将A、B中所有的球均称为标准球。
在4中,C组中的四个球全部都是标准球,这四个球中难道不能拿出三个标准球么?如果你连三个标准球从何得来都不知道,那你也就根本不用来这里看这道题了!——我对你的回复表示诧异和震惊!
qingrun的方法與前面我給出的方法是一致的,是正確的!︰)
這三個標準球是從C組中取出的,A組B組重量不等,C組當然是標準球!︰)
的确,基本上是一样的。
你好,huntout老兄,请问你输入的怎么是繁体字?你住在哪里?
我就在北京呀!在北京也可以裝繁體系統吧?︰)
to huntout,很高兴看到你的留言,不过,我觉得在北京似乎没有必要安装繁体系统,也许是我不知道你的工作性质吧。我在深圳,虽然我的公司总部在香港,但我们开发的系统也主要是英文的,很少用到繁体,一般都是到工程的最后才进行big5码的翻译,以适应需求方的要求。
实际上这道题与我高中时作的一道竞赛题很相似,而很凑巧的是两个星期以前,以为网友刚好也给我出了这道题:)……
不过,我很高兴在这里能认识这么多朋友,希望大家以后能开诚布公,多多交流,这样也可以促进大家共同发展,做好各自的工作么!:)
应是有1个轻(或重)。
sorry.