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人可猜对帽子上的值。

  • 相关阅读:
    原生js设置cookie
    vuex数据持久化存储
    export和export default的区别
    userAgent判断是微信还是企业微信
    SVN的使用方法
    Js字符串反转
    通用JS10——一元加和减
    通用JS十——递增/递减操作符
    通用JS9
    @SuppressWarning注解用法
  • 原文地址:https://www.cnblogs.com/kevinGaoblog/p/2450566.html
Copyright © 2011-2022 走看看