zoukankan      html  css  js  c++  java
  • 3次天平找出15个小球中不正常的那个

    题目:有十五个球,其中有一个已知是正常的,其余的十四个里面有一个是不正常的,可能偏重或偏轻,用一个天平3次内找出不正常的球。

    解:首先对球进行编号 1-15,其中15是正常的球

          “>”代表左面的重于右面的;  “<”代表左面的轻于右面的;“=”代表平衡;

        第一次取左盘1,2,3,4,5       右盘11,12,13,14,15

       结果记为A;

       若A为“="  {---------由于只有一个不正常的,所以这十个球里面都是正常的,坏球是6,7,8,9,10中的一个

                       第二次取左盘6,7      右盘8,15

                       结果记为B;

                       若B为 "=" {---------说明6,7,8,15均正常,9,10里面有一个不正常

                                        比较9和15,若=,则10不正常;若9>15,则9重,否则9轻;

                                       }

                       若B为 ">" {---------说明6,7中有一个重,或者8轻

                                        比较6和7,若=,则8轻;否则6,7重的一个为坏的并且他重;

                                       }

                       若B为 "<" {---------说明说明6,7中有一个轻,或者8重

                                        比较6和7,若=,则8重;否则6,7轻的一个为坏的并且他轻;

                                       } 

                       }

       若A为“>"  {------说明1,2,3,4,5里面有一个重的或者11,12,13,14里面有一个轻的

                      第二次取左盘1,11,12   右盘2,13,14

                      结果记为C;

                      若C为 "=" {---------说明3,4,5里面有一个是不正常的,由上一步A取 ">"可知,3,4,5只可能是重的

                                       比较3和4,若 =,则球5是重球;否则3,4中比较重的一个是坏球并且是重的

                                      }

                      若C为 ">" {---------说明1为重球或者13,14为轻球

                                       比较13和14,若 =,则球1是重球;否则13,14中比较轻的一个是坏球并且是轻的

                                      }

                      若C为 "<" {---------说明2为重球或者11,12为轻球

                                       比较11和12,若 =,则球2是重球;否则11,12中比较轻的一个是坏球并且是轻的

                                      }

                         } 

       若A为“<"  {------说明1,2,3,4,5里面有一个轻的或者11,12,13,14里面有一个重的

                      第二次取左盘1,11,12   右盘2,13,14

                      结果记为D;

                      若D为 "=" {---------说明3,4,5里面有一个是不正常的,由上一步A取 ">"可知,3,4,5只可能是轻的

                                       比较3和4,若 =,则球5是轻球;否则3,4中比较轻的一个是坏球并且是轻的

                                      }

                      若D为 ">" {---------说明11,12为重球或者2为轻球

                                       比较11和12,若 =,则球2是轻球;否则11,12中比较重的一个是坏球并且是重的

                                      }

                      若D为 "<" {---------说明1为轻球或者13,14为重球

                                       比较13和14,若 =,则球1是轻球;否则13,14中比较重的一个是坏球并且是重的

                                      }

                         } 

    这是好久前看到的题目,后来把解题过程整理了一下,当做第一篇吧。

  • 相关阅读:
    hibernate框架的搭建与简单实现增删改
    $.ajax();详解
    利用json实现数据传输
    利用ajax实现数据传输
    错误:Value '0000-00-00 00:00:00' can not be represented as java.sql.Timestamp;的解决
    简单使用jstl实现敏感字替换
    实用jstl实现未登录时不能绕过登录界面的效果
    简单实用jstl实现“登录|注册”
    简单实用jstl实现代码编写
    简单使用EL进行标签的替换
  • 原文地址:https://www.cnblogs.com/opalyao/p/3014229.html
Copyright © 2011-2022 走看看