一共有13个球,只有一个球的重量与其它的不一样
提供一个天平(无刻度),要求称3次 找出重量不一样的那个球!~??
提供一个天平(无刻度),要求称3次 找出重量不一样的那个球!~??
解决方案 »
- 小弟刚学习java,遇到一个关于循环自加的问题!
- 大家知道在JAVA中怎么把一个组件的内容传给其它程序吗?
- 一个JAVA的封装问题
- 关于java的析构器问题,请教大家!
- static的作用?
- java Swing界面
- 如何导入(import)文件????????
- getInstance 和new 一个实例有什么不同啊(内空)
- 谁有连接过Apache1.3.24何tomcat3.3.1
- 多线程不停执行if判断,即便if条件正确也不执行(判断的是另一个类的公共静态变量),在线程run方法最前面加一句输出print语句却又执行了,求解……
- 关于Swing的问题?
- JavaAPI中为何没有队列结构的实现?
1、先随便挑出12个,分为两组,每组6个放在天平的两端,如果天平平衡,则剩下的一个球就是那个Q。如果不平衡,则转到2。
2、Q一定在比较重的6个球里。将这6个球分为两组,每组3个放在天平的两端,则Q肯定还在重的那3个球里。
3、在最后比较重的那3个球里随便跳出2个,分别放在天平的两端,如果天平平衡,则剩下的那个球就是Q,否则,放在天平中的比较重的球就是Q。
5VS5,二种情况。
---平衡,那真是太好了。还有3个
第二次 换上两个。如果还平衡,那么还有的一个就是。搞定
如果不平衡,说明新拿的两个球里有一个是要找的球。
第三次 虽便拿一个已经平衡的球和这两个球VS。
平衡说明另一个是要找的球。不平衡这个球就是。轻重也测出来了。
不平衡,说明要找的球就在这八个当中。但是哪个死球是轻重的。
第二次 两边都换下两球。把剩下的五个球里拿四个。各放两个。
如果这次平衡,则说明我们两下的四个球里有我们要找的球。
第三次,把这两对球各拿出一个。换上已经没有问题的球。
(1)5 vs 5 两个5不好辨认,我为它们加个符号吧。5<1> vs 5<2>
如果平衡的话,不用想了,肯定在剩下的3个中,接下去就不说了,比较简单。
5VS5,二种情况。
---平衡,那真是太好了。还有3个
第二次 换上两个。如果还平衡,那么还有的一个就是。搞定
如果不平衡,说明新拿的两个球里有一个是要找的球。
第三次 虽便拿一个已经平衡的球和这两个球VS。
平衡说明另一个是要找的球。不平衡这个球就是。轻重也测出来了。
不平衡,说明要找的球就在这八个当中。但是哪个死球是轻重的。
第二次 两边都换下两球。把剩下的五个球里拿四个。各放两个。
如果这次平衡,则说明我们两下的四个球里有我们要找的球。
第三次,把这两对球各拿出一个。换上已经没有问题的球。
4:4:4
情况很复杂,最后总共有26种情况:
首先给每个球编号,
最后结果:依据天平的倾斜判断出。
lqqm上有详细的解释,去那里找吧!~
若两组一样重,则说明这两组的球重量都正常,从中任意取出一个,称该球为Q.(此时仍有5各球未参与称重)
2. 从未参与称重的球中任取一个,与Q成为一组(A组),再从剩下的四个中任取两个(B组),与A组称:
2.1 若一样重,从B组中任取一球,与Q比较:
若一样重,则说明B组里未比较的那个球是不正常球. 若不一样重,则与Q球比较的那个球是不正常球.
2.2 若不一样重,则说明不正常球在最后剩下的两各中,重复2.1操作,即可找出不正常球
3 若刚开始称重的两组不一样重,
还没想清楚
if(9,10,11==1,2,3) {//异类在在12,13中
return (12==1)?13:12;
}
else if(9,10,11<1,2,3) {//异类在在9,10,11中较轻的
if(9==10) {
return 11;
}
else {
return (9<10)?9:10;
}
else {//异类在在9,10,11中较重的
if(9==10) {
return 11;
}
else {
return (9<10)?10:9;
}
}
}else if(1,2,3,4<5,6,7,8){//异类在这1-8这8个球当中
if(1,2,3,5,6<9,10,11,12,13) {//肯定是1,2,3其中较轻的
if(1==2) {
return 3;
} else {
return (1<2)?1:2;
}
}
else if(1,2,3,5,6>9,10,11,12,13) {//肯定是5,6其中较重的
return (5>6)?5:6;
}
else if(1,2,3,5,6==9,10,11,12,13) {//肯定是4,7,8之一
if(4,7==9,10) {
return 8;
}
else if(4,7<9,10) {
return 4; //根据第一称,7是不可能轻的了
}
else if(4,7>9,10) {
return 7; //根据第一称,4是不可能重的了
}
}
}
if(1,2,3,5,6>9,10,11,12,13) {//肯定是1,2,3其中较重的
if(1==2) {
return 3;
} else {
return (1>2)?1:2;
}
}
else if(1,2,3,5,6<9,10,11,12,13) {//肯定是5,6其中较轻的
return (5<6)?5:6;
}
else if(1,2,3,5,6==9,10,11,12,13) {//肯定是4,7,8之一
if(4,7==9,10) {
return 8;
}
else if(4,7>9,10) {
return 4; //根据第一称,7是不可能重的了
}
else if(4,7<9,10) {
return 7; //根据第一称,4是不可能轻的了
}
}
}
1. 有两个嫌疑球,和若干标准球的时候,可以一次找到。具体的做法就是取一个嫌疑球同一个标准球比较,如果重量不同,则可以确定天平上的嫌疑球就是非标准球,否则,剩下的那个就是非标准球。
2. 有三个嫌疑球,和有这三个嫌疑球参与的一次比较结果,并且在这次比较中,三个嫌疑球不在同一侧。比较方法是,取两侧的嫌疑球各一个,同两个标准球比较,如果相同,那就可以肯定,没有参加比较的嫌疑球是非标准球,如果两个嫌疑球一侧偏重,则上次比较结果中在较重一侧的嫌疑球是非标准球,否则就是较轻一侧的嫌疑球是非标准球。
3. 只剩一个嫌疑球的时候。
解题方法:
首先对13个球标号并分组:
1、 2、 3、 4 A1组
5、 6、 7、 8 B1组
9、10、11、12 C1组
13
称量A与B,记录结果R1(这里用大于0表示A>B,其它类推)
然后二次分组
13、2、 7、 8 A2组
1、 6、11、12 B2组
5、10、 3、 4 C2组
9
称量A2与B2,记录结果R2
开始分析结果:
如果R1=R2=0,则证明非标准球没有上过天平,这样,嫌疑球有2个:9号球、10号球。符合我前面提出的解决条件。可以解决这个问题。结果将在9,10中产生。
如果R1=0,R2>0(或者R2<0),则证明第二次测量的时候,非标准球上了天平,这样,嫌疑球有三个:13,11,12。这符合我在前面提到的第二种情况,也可解决。结果将在13,11,12中产生。
如果R1>0,R2=0,非常简单,这证明非标准球在第二次测量的时候,离开了天平,嫌疑球有三个:5,3,4。我们可以用第一次的比较结果作条件,用第二个解决办法找到非标准球。结果将在5,3,4中产生。
如果
R1>0,R2>0,证明第二次测量的时候,非标准球一直天平上,但此时嫌疑球好像是有四个:1、2、6、7、8,其实不是这样的,从测试结果上看,非标准球没有离开过自己的位置,这样的话,只有2与6是嫌疑球。结果将在2,6中产生。
R1>0,R2<0,同理,非标准球移动了自己的位置,这么来说,嫌疑球就应该是:1,7,8。显然这符合第二个条件。结果将在1,7,8中产生。
显然已经没有必要讨论R1<0的情况了,这同R1>0实际上是一样的。
申明一下,此解答不是我想到的,只是我看懂了,此解答作者Beyond_ml([email protected])
------ ------ ------ ---- ------------------------
1234 = 5678 问题出在 9ABCD
678 = 9AB 问题出在 CD
B = C D
B > C C
B < C C
678 > 9AB 9AB 里有一个轻的
9 = A B
9 > A A
9 < A 9
678 < 9AB 9AB 里有一个重的
9 = A B
9 > A 9
9 < A A
1234 > 5678 9ABCD 都是好的,如果问题出在 1234 里,那么它是重的,如果问题出在 5678 里,那么它是轻的
1235 = 49AB 12345 都是好的,678 里有一个轻的
6 = 7 8
6 > 7 7
6 < 7 6
1235 > 49AB 45 都是好的,123 里有一个重的
1 = 2 3
1 > 2 1
1 < 2 2
1235 < 49AB 123 都是好的,剩下两种可能:4 偏重,或者 5 偏轻
5 = 9 4
5 > 9 ? 如果 5 有问题,它一定是偏轻,不可能出现这种情况
5 < 9 5
1234 < 5678 9ABCD 都是好的,如果问题出在 1234 里,那么它是轻的,如果问题出在 5678 里,那么它是重的
1235 = 49AB 12345 都是好的,678 里有一个重的
6 = 7 8
6 > 7 6
6 < 7 7
1235 > 49AB 123 都是好的,剩下两种可能:4 偏轻,或者 5 偏重
5 = 9 4
5 > 9 5
5 < 9 ? 如果 5 有问题,它一定是偏重,不可能出现这种情况
1235 < 49AB 45 都是好的,123 里有一个轻的
1 = 2 3
1 > 2 1
1 < 2 2
我不认同,你忽视了一个很重要的条件,这个球是不知道比其它球轻还是重的,上面好多答案都忽视了这一点。因此,在你的解答中,
1234 = 5678 问题出在 9ABCD
678 = 9AB 问题出在 CD
B = C D
B > C C
B < C C
678 > 9AB 9AB 里有一个轻的
9 = A B
9 > A A ?
9 < A 9 ?
678 < 9AB 9AB 里有一个重的
9 = A B
9 > A 9 ?
9 < A A ?
在经过3步称重后你只能得到有2个球重量不一样,可是这两个球你并不知道哪一个是和其它球的重量不一样,是轻的那个?还是重的哪个?你无法知道。可能是9,也可能是A,要想知道,你还需要再称一次。