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

  • 相关阅读:
    zookeeper、hbase集成kerberos
    hdfs、yarn集成kerberos
    kerberos(一) 详解
    Kerberos(一) 安装
    kerberos 配置错误记录
    javascript自定义滚动条插件,几行代码的事儿
    javascript,css延迟加载器
    DOM: 如何获取元素下的第一个子元素
    自定义标签的可用性
    (转)也谈基于NodeJS的全栈式开发(基于NodeJS的前后端分离)
  • 原文地址:https://www.cnblogs.com/kevinGaoblog/p/2450566.html
Copyright © 2011-2022 走看看