推理吧 关注:1,098,355贴子:7,795,690
  • 17回复贴,共1

【烧脑】高智商数学问题

只看楼主收藏回复


一楼思考者镇楼


IP属地:天津1楼2018-04-21 17:13回复
    题目:
    有M,N两人需要进入到两个独立的房间中,系统在1-1001之间(含1和1001)随机抽取三个数字a,b,c,设定数a为Key数并告诉M,然后由M挑选一个数,之后由N挑选一个数
    条件:
    1:M,N两人都已知这三个数字是多少
    2:数字均为整数
    3:M一定不会挑选key数
    4:三个数都只能被挑选一次,即M挑选过的数字,N不能再次挑选
    5:M,N两人只能在开始之前(随机抽取数字之前)进行约定
    6:两个房间完全独立,不存在任何其他条件使N,M可以交流
    7:两人均具有强大的运算能力,不存在人类脑力限制
    问题:
    是否存在一种算法F,在M从b,c两个数字中挑选一个之后,N必定能够根据算法F得知哪一个数是key数,从而挑选a。
    只需证明是否存在即可,不需写出完整算法


    IP属地:天津2楼2018-04-21 17:14
    回复
      2026-02-18 05:26:32
      广告
      不感兴趣
      开通SVIP免广告
      看不懂


      来自Android客户端3楼2018-04-21 17:16
      收起回复
        讲通俗点,是不是有三个苹果,m知道哪个有毒,n不知道哪个有毒。然后m拿走一个苹果后,n是否有一种办法一定能选到有毒的苹果


        IP属地:海南来自iPhone客户端4楼2018-04-21 20:51
        回复
          在挑选之前两人商量好M会选择最接近a的数,这样就只有一种情况算不出a的值
          是最接近a的数和另一个相差值同样相等,例如123,判断不出a是1还是3
          在这种情况下M会选择其中不是a的数。
          于是N就可以顺着这种思维算出a


          来自Android客户端8楼2018-04-21 23:26
          回复(8)
            首先默认挑选前将三个数从小到大排序abc。算法中只需分两种情况:1.三个数中,如果key为最小数a,那么M会选大于a且紧邻a的数,同理,key为b,M会选c;2.如果key为最大数c,那么M选最小数a


            IP属地:江苏来自Android客户端9楼2018-04-22 09:20
            回复
              稍微想了一下,可以这样,把三个数排序由高到低编号为1.2.3,约定a为1则m选2,a为2则m选3,a为3则m选1,n同样排序后根据m选的数字编号推算出a即可。如果限制不能出现相同数字的话对数字个数更多的情况似乎也成立


              IP属地:安徽来自Android客户端10楼2018-04-22 09:22
              回复(1)
                这,楼主是不是少了什么条件...这么高端的描述,答案超级简单


                IP属地:辽宁来自Android客户端11楼2018-04-24 11:45
                回复