zoukankan      html  css  js  c++  java
  • 12个球问题微软面试题

    现有12个球,其中有一个是次品,但不知道它比正常的重还是轻, 现在只有天平一架,请称3次找出次品球。

    参考答案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 ,重的是问题球。

  • 相关阅读:
    SQL中的全局变量和局部变量(@@/@)
    C# 委托Delegate(一) 基础介绍&用法
    internal in C#
    用代码块在new对象时set属性
    MySql与对应的Java的时间类型
    快速获取当天0点0分0秒(00:00:00)
    IsNullOrWhiteSpace与IsNullOrEmpty
    svn服务器配置 for mac
    CornerStone配置SVN,HTTP及SVN简单使用说明
    svn配置
  • 原文地址:https://www.cnblogs.com/QQParadise/p/1268335.html
Copyright © 2011-2022 走看看