数学智力题吧 关注:10贴子:28
  • 1回复贴,共1

猜数游戏升级

只看楼主收藏回复

数学智力题及解析-只搬运好的数学智力题
小明表演一个猜数游戏。有124张卡片,上面分别写着0到123的数字。他让观众随机选择5张卡片交给女友小红,小红看完后将这5张卡片背面朝上一字排。以上过程,小明完全不知情。
然后小红从左到右依次亮开前四张卡片,小明看到前四个数字后准确的猜出了最后一张卡片上的数字。
请问这个猜字游戏的秘密是什么?


IP属地:新西兰来自Android客户端1楼2023-09-03 04:32回复
    解析:
    5个随机数的大小排列顺序对应24种情况,这是显而易见的,但这只是大小顺序提供的信息,而5个随机数本身的数值信息还没充分利用
    总数52的算法只是选取了最小值或第二小值做为待猜数,这就限制了总数的数值,同时也说明待猜数的选择是提高总数的关键问题
    总数124的算法涉及到三层数值赋值
    原始的124个数从小到大用冠y值表示
    y(0)=0,y(1)=1,y(2)=2,…,y(123)=123
    对于小红来说
    5个随机数从小到大为abcde
    从小到大用冠x值表示
    x(0)=a,x(1)=b,x(2)=c,x(3)=d,x(4)=e
    计算(a+b+c+d+e)mod5=n
    由此选取x(n)对应的数值做为待猜数
    假设n=2,也就是将x(2)=c做为待猜数
    对于小明来说,看到的只是abde
    先计算(a+b+d+e)mod5=m
    再计算(5-m)mod5=p
    再将除去abde的120个数按从小到大排列用冠z数值表示
    z(0),z(1),z(2),…,z(119)
    那么一定有c=z(5k+p),k=0,1,2,…,23
    当然k值完全可以用abde的排列顺序表示
    用实例进行演示
    比如观众随机选取的5个数是
    a=2,b=13,c=14,d=60,e=100
    小红进行如下分析计算
    x(0)=2,x(1)=13,x(2)=14,x(3)=60,x(4)=100
    n=(2+13+14+60+100)mod5=4
    x(4)=e=100,取e=100做为待猜数
    即前4张是2,13,14,60的某种排列
    小明进行如下分析计算
    m=(2+13+14+60)mod5=4
    p=(5-4)mod5=1
    除去2,13,14,60得到冠z数列
    z(0)=0,z(1)=1,z(2)=3,…,z(11)=12,z(12)=15,…,z(56)=59,z(57)=61,…,z(95)=99,z(96)=100,z(97)=101,…,z(119)=123
    显然100=z(96)=z(5*19+1)
    是在冠z数列中属于mod5=1的第20个数
    小红将2,13,14,60的排列顺序可设为
    dacb,即60,2,14,13
    小明就可以翻译出是20,对应k=19


    IP属地:新西兰来自Android客户端2楼2023-09-03 07:25
    回复