你能做出来,算你强,否则,你给我闭XXX
求1,1,2,3,5,8,13,21.......第30个元素(要求至少用3种方法)
用VB,C++,C#,C语言都可以
解题方法:
首先对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实际上是一样的。