zoukankan      html  css  js  c++  java
  • 神奇的10个人10个帽子的问题

    题目: 

    10个人10顶帽子,每顶帽子上有1-10中的一个数字,这些数字有可能重复 ,每个人只能看到其他9个人头上帽子上的数字,看不到自己的帽子上的数字 。这时要求每人同时写出一个数字 。 
    问,是否存在一个策略使得,至少有一个人写出的是自己头上帽子的数字? 
    如果存在,请给出一个具体的策略;如果不存在,请给出严格的证明。

    解:

    假设每个人帽子上的数字为Xi,i=1,2,...,10。则Xi与Xj是相互独立的,取值完全随机。这里10个人只有1个共性,那就是10个数之和是相同的,记为S。第i个人可以看见其余9个数字,可计算出Si=S-Xi。由此可知对于第i个人而言,Si为已知数,Xi与S为未知数,且Xi+Si=S,i=1,2,...,10。即(Xi+Si)%10=S%10=a,显然a∈[0,9],只有10种取值。令第i个人取a为i-1,即至少有1人猜对a的值,假设为第k个人,则(Xk+Sk)%10=a,又Xk∈[1,10],可解出Xk=a-Sk%10,a>Sk%10时;Xk=a+10-Sk%10,a≤Sk%10时。故至少有1人可猜对帽子上的值。

  • 相关阅读:
    JAVA--导数到Mongodb
    关于jquery的事件委托-bind,live,delegate,on的区别发展
    cookies localStorage和sessionStorage的区别
    px em 和rem之间的区别
    js中string常用方法
    js中number常用方法
    json格式常用操作
    Node.js到底是做什么的?这是我看到最好的解释了
    数组常用操作方法
    JQuery.Ajax()的data参数类型
  • 原文地址:https://www.cnblogs.com/kevinGaoblog/p/2450566.html
Copyright © 2011-2022 走看看