十三个球问题

//有十三个球,一个和其他重量不一样,但不知道这个球偏轻还是偏重,有一个没有刻度的天平,有三次称量的机会称出和其他球不一样的球

----------------------->请思考!
    
                         |


                         | 

 

                         | 

 

 

                         |  

 

 

 

 

                         | 

现在我们用编程思想解决它!

---------------------------------------------------------------------------------

//1、把球分为A=4,B=4,C=5三份 var A=4; var B=4; var C=5; if(A==B){ //A,B两份的球都是正常的;不正常的球在C中 //2、在A,B中拿出D=3个正常的球;把C中的球分为E=3,F=2两份; var D=3; var E=3; var F=2; if(D==E){ //当中得球全是正常的,不正常在F中 //3、从F中拿出一个和正常球比较 //一样就是另一个不正常,不一样就是它了 }else{ //应为D中全是正常的,E中有一个不正常,通过偏向可知道那一个球是比较轻x|比较重Y //3、从E中拿出两个比较比较 //一样就是第三个不正常,不一样就是这两个中有一个不真正常,x|y就是不正常的 } }else{ //假如是A>B //不正常的球在A或B中,要是球比较重在A中,要是球比较轻在B中;但C=5中的球都是正常的 //2、从A,B中拿出M(5)=A(3)+B(2)个 var M="A(3)+B(2)"; if(M==D){ //M中的球都是正常的,不正常在A(1)|比较重或是在B(2)中|比较轻 //3、从A(1)中拿出1个B中拿出1个和正常的H=2比较 var N="A(1)+B(1)"; var H=2; if(N==H){ //N中的是正常的 //不正常是B(2)-B(1)中 }else if(N>H){ //这个不正常球比较重 //就是A(1) }else if(N<H){ //这个不正常球比较轻 //就是B(1) } }else if(M>D){ //这个不正常球比较重,在A(3)中 //3、从A拿出两个进行比较 //一样重就是第三个不正常,不一样就是重的哪一个 }else if(M<D){ //这个不正常球比较轻,在B(2)中 //3、拿出这两个进行比较 //轻的那个是不正常的 } }



 

转载于:https://www.cnblogs.com/springside4/archive/2012/04/12/2481063.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值