12个球,其中有一个坏球不知道轻重,用3次把他称出来

今天突然想到了中学时候高峰老师和我们说过的12个球的推算方法.想了一下,还有点困难.
如果对半称肯定是推不出来的.只能4个4个来


1.首先把球分为3堆,每堆4个,用A,B,C表示,称A,B
if(A>B&&A<B){
         则C里面都是真的,坏球在A,B中;
         把A,B中的球,按重量分,重的一边标上1,2,3,4 轻的一边标上a,b,c,d
          2.把1,2,a和3,4,b称
          if(A==B){
             则坏球是c,d中偏轻的那个(原因:1,2,a,3,4,b都是好球,c,d属于偏轻的)
           }else{
                  if(A>B){
                      说明坏球有可能是1,2中偏重,或者是b偏轻,接着的算法有好多了
                        3. 1,2称
                          if(1==2){
                                  b坏球.
                           }else{
                               if(1>2){
                                     1是坏球
                                 }else{
                                     2是坏球
                                }
                          }
                    }else{
                        说明坏球可能是3,4 中偏重或者a偏轻,推理同上
                 }
            }

        }else{ 
            C (e,f,g,h)里面有坏球,这就简单多了,方法就很多了,2次称出4个里面有个坏球
           2. 用A或者B里面的2个球和C里面拿出来2个进行称(e,f)
               if(相等){
                      则在另外2个球中,(g,h)
                    3.再从正常中取一个球和2个球其中一个对比(g),
                    if(相等){
                            h是坏的
                     }else{
                            g是坏的 
                     }
               }else{
                     则(e,f)是坏的
                     3.再从正常中取一个球和2个球其中一个对比(e),
                    if(相等){
                            f是坏的
                    }else{
                            e是坏的
                   }

             }
}

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值