• 神奇的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实现DAG广度优先便利
    java实现图分组
    四。字符串
    二。链表
    一。数组
    TypeScript学习(六)@types包
    TypeScript学习(五)三斜线指令
    TypeScript学习(四)声明文件和declare关键字
    TypeScript学习(三)命名空间和模块
    TypeScript学习(二)函数重载
  • 原文地址:https://www.cnblogs.com/kevinGaoblog/p/2450566.html
Copyright © 2020-2023  润新知