农村一层民房设计图片:称量的问题

来源:百度文库 编辑:查人人中国名人网 时间:2024/05/06 00:56:53
有十二个小球,有一个球有问题(不知道是轻还是重),称三次,找到那个球

参考答案1:
首先,把12个小球分成三等份,每份四只。
拿出其中两份放到天平两侧称(第一次)
情况一:天平是平衡的。
那么那八个拿上去称的小球都是正常的,特殊的在四个里面。
把剩下四个小球拿出三个放到一边,另一边放三个正常的小球(第二次)
如天平平衡,特殊的是剩下那个。
如果不平衡,在天平上面的那三个里。而且知道是重了还是轻了。
剩下三个中拿两个来称,因为已经知道重轻,所以就可以知道特殊的了。(第三次)
情况二:天平倾斜。
特殊的小球在天平的那八个里面。
把重的一侧四个球记为A1A2A3A4,轻的记为B1B2B3B4。
剩下的确定为四个正常的记为C。
把A1B2B3B4放到一边,B1和三个正常的C小球放一边。(第二次)
情况一:天平平衡了。
特殊小球在A2A3A4里面,而且知道特殊小球比较重。
把A2A3称一下,就知道三个里面哪个是特殊的了。(第三次)
情况二:天平依然是A1的那边比较重。
特殊的小球在A1和B1之间。
随便拿一个和正常的称,就知道哪个特殊了。(第三次)
情况三:天平反过来,B1那边比较重了。
特殊小球在B2B3B4中间,而且知道特殊小球比较轻。
把B2B3称一下,就知道哪个是特殊的了。(第三次)
参考答案2:
此称法称三次就保证找出那个坏球,并知道它比标准球重还是轻。
将十二个球编号为1-12。
第一次,先将1-4号放在左边,5-8号放在右边。
1.如果右重则坏球在1-8号。
第二次将2-4号拿掉,将6-8号从右边移到左边,把9-11号放
在右边。就是说,把1,6,7,8放在左边,5,9,10,11放在右边。
1.如果右重则坏球在没有被触动的1,5号。如果是1号,
则它比标准球轻;如果是5号,则它比标准球重。
第三次将1号放在左边,2号放在右边。
1.如果右重则1号是坏球且比标准球轻;
2.如果平衡则5号是坏球且比标准球重;
3.这次不可能左重。
2.如果平衡则坏球在被拿掉的2-4号,且比标准球轻。
第三次将2号放在左边,3号放在右边。
1.如果右重则2号是坏球且比标准球轻;
2.如果平衡则4号是坏球且比标准球轻;
3.如果左重则3号是坏球且比标准球轻。
3.如果左重则坏球在拿到左边的6-8号,且比标准球重。
第三次将6号放在左边,7号放在右边。
1.如果右重则7号是坏球且比标准球重;
2.如果平衡则8号是坏球且比标准球重;
3.如果左重则6号是坏球且比标准球重。
2.如果天平平衡,则坏球在9-12号。
第二次将1-3号放在左边,9-11号放在右边。
1.如果右重则坏球在9-11号且坏球较重。
第三次将9号放在左边,10号放在右边。
1.如果右重则10号是坏球且比标准球重;
2.如果平衡则11号是坏球且比标准球重;
3.如果左重则9号是坏球且比标准球重。
2.如果平衡则坏球为12号。
第三次将1号放在左边,12号放在右边。
1.如果右重则12号是坏球且比标准球重;
2.这次不可能平衡;
3.如果左重则12号是坏球且比标准球轻。
3.如果左重则坏球在9-11号且坏球较轻。
第三次将9号放在左边,10号放在右边。
1.如果右重则9号是坏球且比标准球轻;
2.如果平衡则11号是坏球且比标准球轻;
3.如果左重则10号是坏球且比标准球轻。
3.如果左重则坏球在1-8号。
第二次将2-4号拿掉,将6-8号从右边移到左边,把9-11号放
在右边。就是说,把1,6,7,8放在左边,5,9,10,11放在右边。
1.如果右重则坏球在拿到左边的6-8号,且比标准球轻。
第三次将6号放在左边,7号放在右边。
1.如果右重则6号是坏球且比标准球轻;
2.如果平衡则8号是坏球且比标准球轻;
3.如果左重则7号是坏球且比标准球轻。
2.如果平衡则坏球在被拿掉的2-4号,且比标准球重。
第三次将2号放在左边,3号放在右边。
1.如果右重则3号是坏球且比标准球重;
2.如果平衡则4号是坏球且比标准球重;
3.如果左重则2号是坏球且比标准球重。
3.如果左重则坏球在没有被触动的1,5号。如果是1号,
则它比标准球重;如果是5号,则它比标准球轻。
第三次将1号放在左边,2号放在右边。
1.这次不可能右重。
2.如果平衡则5号是坏球且比标准球轻;
3.如果左重则1号是坏球且比标准球重;

参考答案3:

|--右--( 1轻)
|--右--(1 ; 2)|--平--( 5重)
| |--左--( )
|
| |--右--( 2轻)
|--右--(1,6-8; |--平--(2 ; 3)|--平--( 4轻)
| 5,9-11)| |--左--( 3轻)
| |
| | |--右--( 7重)
| |--左--(6 ; 7)|--平--( 8重)
| |--左--( 6重)
|
| |--右--(10重)
| |--右--(9 ;10)|--平--(11重)
| | |--左--( 9重)
| |
| | |--右--(12重)
(1-4;5-8)|--平--(1-3; |--平--(1 ;12)|--平--(13轻, 13重)*
| 9-11)| |--左--(12轻)
| |
| | |--右--( 9轻)
| |--左--(9 ;10)|--平--(11轻)
| |--左--(10轻)
|
| |--右--( 6轻)
| |--右--(6 ; 7)|--平--( 8轻)
| | |--左--( 7轻)
| |
| | |--右--( 3重)
|--左--(1,6-8; |--平--(2 ; 3)|--平--( 4重)
5,9-11)| |--左--( 2重)
|
| |--右--( )
|--左--(1 ; 2)|--平--( 5轻)
|--左--( 1重)
(*:对应13个球的情形。)
参考答案4:
将球分为3组, 4个1组
第一次:任意4个 对 任意4个
结果:平衡,现状:8个标准球,4个未知球。
第二次:3个未知球 对 3个标准球
结果:平衡,则剩下的1个未知球是问题球。
第三次:省了
结果:不平衡,现状:3个未知球,9个标准球。
分析比较结果:
如果3个未知球比3个标准球重, 则问题球重。
如果3个未知球 比 3个标准球 轻, 则问题球轻。
第三次:3个未知球任意选2个,1 对 1
结果:平衡, 则问题球是最后一个未知球。
结果:不平衡, 根据上面的轻重结果,如果问题球重(轻),则重(轻)的一个未知球为问题球。
结果:不平衡,现状:4个轻球,4个重球,4个标准球。
第二次: 轻2个 + 重2个 对 标准球3个+重1个
结果:平衡,现状:9个标准球,剩下未知球:轻2个,重1个 。
第三次:轻1个 + 重1个 对 标准球2个
结果:平衡 则剩下的轻1个是问题球。
结果:不平衡
分析比较结果
如果 轻1个 + 重1个 比 标准球2个 轻 那么 问题球是轻1个。
如果 轻1个 + 重1个 比 标准球2个 重 那么 问题球是重1个。
结果:不平衡
分析: 如果轻2个+重2个 比 标准球3个+重1个 轻 那么 问题球在左边轻2个和右边重1个里。
第三次:和上面一样
如果轻2个+重2个 比 标准球3个+重1个 重 那么 问题球在左边的重2个里,而且问题球重。
第三次:直接比较左边的重2个,1 对 1 ,重的是问题球。

先用小球的编号分三组!各租4个!第一组是1,2,3,4;第二组是5,6,7,8;第三组是9,10,11,12;
第一步用1,2,3,4跟5,6,7,8比!
1.如果一样的话表示1到8都是正常的!跟着用(随便3个)1,2,3跟9,10,11比!看看右边的是重还是轻!然后在9,10,11其中抽两个出来比!马上得到结果!如果1,2,3跟9,10,11是一样重量的话随便拿一个小球跟12比比!就知道12是重还是轻!
2.如果不一样!就表示9,10,11,12都是正常!那肯定会出现一边重一边轻!因为我们不知道"有问题"的小球是重还是轻~那麼首先假设"左重右轻"!跟着用1,2,5跟3,4,6比!这裏又有一个分支~1.如果还是左边重的话就说明1,2,重~或者是6轻!跟着1和2比!谁重谁就有问题!一样的话就是6轻!
2.相反!如果是左轻右重的话~就说明3,4重或者是5轻!用同样方法!3和4比比!
答案就是这样!不明白的最好实践一下!裏面的假设是随便的~你可以假设为"左轻右重"~后面的想法都是一样的~把"重轻"两字互换一下!

这个不难,不过要先仔细想想,呵呵,,我写过这个的程序,不过是用JAVA写的,你可以看看, 思路是一样的,而且JAVA和C语法差不多,很容易看懂的,
public class bottle
{
public static void main( String[] args )
{
int result=0,result1=0,result2=0,result3=0;
int [] bottle_12 = {12,12,12,12,12,12,12,12,10,12,12,12 };
int [] groupA = {0,1,2,3};
int [] groupB = {4,5,6,7};
result1 = compare(bottle_12, groupA,groupB );
if (result1 < 0) { fill(groupA,1,5,9,10);fill(groupB,6,7,2,10);}
else if(result1 > 0) { fill(groupA,6,7,2,10);fill(groupB,1,5,9,10);}
else if(result1 ==0) { fill(groupA,9,10,1,1);fill(groupB,1,2,1,1 );}

result2 = compare( bottle_12,groupA , groupB );
if ( result1 < 0 )
{
if ( result2 < 0 ){fill(groupA,6,9,9,9);fill(groupB,7,9,9,9);}
if ( result2 ==0 ){fill(groupA,3,1,1,1);fill(groupB,4,1,1,1);}
if ( result2 > 0 ){fill(groupA,2,1,1,1);fill(groupB,9,1,1,1);}
}
else if ( result1 == 0 )
{
if ( result2 < 0 ){fill(groupA,9,1,1,1);fill(groupB,10,1,1,1);}
if ( result2 ==0 ){fill(groupA,11,1,1,1);fill(groupB,1,1,1,1);}
if ( result2 > 0 ){fill(groupA,10,1,1,1);fill(groupB,9,1,1,1);}
}
else if ( result1 > 0 )
{
if ( result2 < 0 ){fill(groupA,7,9,9,9);fill(groupB,6,9,9,9);}
if ( result2 ==0 ){fill(groupA,4,9,9,9);fill(groupB,3,9,9,9);}
if ( result2 > 0 ){fill(groupA,2,9,9,9);fill(groupB,9,9,9,9);}
}

result3 = compare(bottle_12,groupA, groupB);
if ( ( result1 == 0) && ( result2 == 0 ) )
{
if (result3 == 0 ) result = 12;
else result = 11;
}
if ( ( result1 == 0) && ( result2 != 0 ) )
{
if (result3 == 0 ) result = 100;
else if (result3 < 0) result = 9;
else if ( result3 > 0)result = 10;
}
if(result1 != 0 )
{
if (result2 < 0 )
{
if (result3 < 0) result = 7;
else if (result3 == 0 ) result = 1;
else if ( result3 < 0 ) result = 6;

}
else if (result2 == 0 )
{
if (result3 < 0) result = 3;
else if (result3 == 0 ) result = 8;
else if ( result3 < 0 ) result = 4;
}
else if (result2 > 0 )
{
if (result3 < 0) result = 2;
else if (result3 == 0 ) result = 5;
else if ( result3 < 0 ) result = 100;
}
}
System.out.println(" "+ result1+"##"+result2+"##"+result3+"##"+result);
}
//////////////////////////////////////////////////////////////////////////
public static int compare ( int [] bo, int [] ga, int [] gb )
{
int a=0,b=0,r=0;
for( int index = 0;index < 4 ; index ++ )
{
a += bo [ ga[index] ];
b += bo [ gb[index] ];
}
if ( a > b ) r= -1;
else if ( a == b )r= 0;
else if ( a < b ) r= 1;
return r;
}
//////////////////////////////////////////////////////////////////////////

public static void fill( int [] g,int a,int b ,int c ,int d)
{
g[0]=a-1;
g[1]=b-1;
g[2]=c-1;
g[3]=d-1;
}
}

倒推回去就明白了。 。
最后一步 还不是 称出假的那个
这个和 什么什么寺庙的和尚叠什么圆问题很象??

要分成3组、每组4个来称才行
1.取两组分别放在天平两边,如果平衡接下来就好做了;如果不平衡,假设轻的一边的标为p,重的一边的标为q。
2.取2个p一个q放在天平左边,2个p一个q放在天平右边,这时会有一个轻重关系。如果平衡则好办;如果左边重,则左边的2个p和右边的q都不可能是坏球;如果右边重,则左边的q和右边的2个p都不可能是坏球。
3.对于上面两种不平衡的情况,都容易办,取2个p放在天平两边称一下就知道了。

分三组:1234 5678 9ABC
第一次 如果 1234 = 5678, 则9ABC用两次,配合1234,5678中的标准球,肯定能出来。
第一次 如果 1234 > 5678 则9ABC都是标准的
第二次 5239和1ABC,
1 如果 5234 = 1ABC
说明678有问题,因为之前1234 > 5678,所以结果球比标准球轻,
第三次 称 6和7,如果想等则结果是8,如果6〉7则为7,如果6<7则为6,END
2 如果 5234 〉1ABC
说明234有问题,而且结果球比标准球重
第三次 称 2和3,如果想等则结果是4,如果2〉3则为2,如果2<3则为3,END
3 如果 5234〈1ABC
说明1跟5有问题,因为ABC是标准球,只有1跟5互换导致天平反向
第三次 称1跟A,相对则为5(比标准球轻),不等则为1(比标准球重)END