智力面试题
1.在12个小球中有一个和其他不同(或轻或重),用一天枰。请问至少称几次可以称出来,怎么称。
解答方案一:
第一次:每边6个称一次
第二次:把重的6个每边3个称一次
第三次:把轻的6个每边3个称一次
第四次:第二次和第三次肯定有一次两边都是一样重的,把不一样重的轻的那一边与两边一样重的任一边称一次
第五次:第二次和第三次肯定有一次两边都是一样重的,把不一样重的重的那一边与两边一样重的任一边称一次
第六次:第四次与第五次肯定有一次是两边一样重的,把不一样重的那三个选两个再称一次,如果相等,那么剩下那个就是我们要找的
第七次:如果第六次不等,那么把第六次称的那个重的与剩下那个比较一次,如果相等,则第六次中轻的那个就是我们要找的,如果不等,那么这个重的就是我们要找的。
所以,至少要称六次才可以称出来。
方案二:
第一次:把12个球平均分为三组,任意选二组称一次
第二次:如果第一次称平衡,则说明不一样的球在第三组中的四个球中,同理把这四个球平均分成两组,称一次
第三次:把第二次中的四个球,任选一个出来同其它三个分别称一次,这样至少两次至多三次就可以知道结果了
加上前两次,所以至少五次,至多六次可以找出来
第一次:把12个球平均分为三组,任意选二组称一次
第二次,如果第一次称不平衡,那么我们要找的球在这两组当中,把这两组中重的一组与第三组称一次
第三次,如果第一次称不平衡,那么我们要找的球在这两组当中,把这两组中轻的一组与第三组称一次
第四次,从第三次就可以找出我们要的球在哪一组了。在这组的四个球中任选一个出来同其它三个分别称一次,这样至少两次至多三次就可以知道结果了
加上前三次,所以至少六次,至多七次可以找出来
其它方案:如果把12个球平均分为四组呢?
阿里云: www.aliyun.com
华赐软件: www.huacisoft.com
C#开源社区: www.opencsharp.net
清泓美肤苑: 清泓美肤苑
bootstrap权限管理系统: Asp.Net Mvc3 bootstrap权限管理系统