我想出来了,分析如下:
1 后面的人知道前面人的所有数字,所以关键在最后两人的承接上,所以只要考虑到最后两人和BOSS 三个数,并能用一个数字来搞清三者质检关系,便可以实现999存活。
2 因为从后数到前(站队),因此排除法是一个很重要的隐藏条件,一些不为一的可能可以用排除法得到唯一答案。
解题如下:
大家约定 最后一个人牺牲,并提示前面的人(这点大家毫无疑问想到了),约定计数公式为:
用最后一人的数A,和老板的数B,大的(这里设定A>B,反之也可)被小的数整除,余数为C;例:A=100,B=53,则商为D=1,余数C=47,密钥为:47+1=48则最后一人报48则可暗示倒数第二人。
附加约定:当这三个数为等比数列时,最后一个人需要在密钥上加上倒数第二人的号码数。详情见下:
(这里用到“2”说到的排除法 即可排除其余可能。得到唯一答案,则再用排除法,倒数第二人得到自己身上的号码。)
重点来了:反过来顺一遍思路即可循环下去
最后一人准确知道自己前面 所有人号码,知道自己和BOSS两个号码A,B。但不确定自己具体是哪个(这里拼脸说自己号码有1/2几率存活,但是后面的循环被打乱,人心一说是题外话,这里只考虑纯粹的解题可能,略过不论);此君必须牺牲自己才能循环到最后。
则按照上面思路即可得出一个提示暗码(密钥)。(PS:此处为最关键一步)
倒数第二君,知道除自己 最后君 boss 三个号码的所有确切数字。则通过暗码 知道确切数A B,则用排除法即可得到 自己的数字。然后循环下去。(PS:排除法很关键!!!每个人都得记住已经报出的数字并用排除法缩小范围得出自己的数)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~分割线~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
如果A=1001,B=2,则 暗码 501. 再如:1001和3。暗码为335(即整除数+余数)倒数第二君通过简单排除可以清楚知道这个组合不是其他可能。所以倒数第二君和倒数第一君同样重要!!!
例子:简化为方程组:最后三个数为a,b,c ,此三数为具体数1001 38 54三者中某数。则 如下:给出密钥暗码为 39(26+13=39)。则x+y=39,(商x,余数y)。倒数第二君要做一下推导:①三个数abc都不能被39整除;②密钥暗码为商,余相加得到的
用54除1001 整除18次余29,18+29=47。排除此可能; 用38除1001整除26次,余数为13.则 26+13=39!!! 可得答案!。
最后关于漏洞:极端情况下,BOSS为1001,最后君为1.则爆出密钥为1001.(被1001次整除为唯一答案,排除即可) 此时 并没有 超出可报数的范围。 则此法无漏洞,完美解答。
补充一点,最后一个人(即站队第一个)通过漫长的排除之后,还剩三个未知数:自己的 X 最后一个的A 以及 BOSS的B。这里,跟倒数第二君要做的事一一样的。可存活。至此 只要倒数第一君 壮烈牺牲,爆出约定暗码。则可实现999存活。鲜花 掌声~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~分割线~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
题外话:
之前看了这题没时间仔细思考,现在静下心来想。得出这个方法,望大家批评指教,共同进步~~(有漏洞和没想到的地方 希望指出 谢谢LZ和大家!)
补充:找到了一个例子:1001/32=31余9 则如果 三个数 1001 ,32 , 31的话 密钥不相同,可解;如果 992 32 31 这三个数.... 最后君和倒数第二君也许会费脑点,一样密钥没有混淆的,可解
还有一种情况:三个数为 4, 2 ,1,密钥为2.则①:最后君报出后出局,则倒数第二君可能是4或1。循环被打破(不确定是那个组合),则作为一个补充约定:如果最后君,boss ,倒数第二君三个数为等比数列,则密钥需要加上倒数第二君的数字即 4 2 1 密钥为3,则倒数第二君为1;密钥为6,则倒数第二君为4
推论:存在一种狗屎运状态:如 961 31 56,如果boss是 961 最后君是31,第三个数不重要。则 此时 可存活1000人!!!
至于有没有三个数 两两整除之后 得到的商+余数=D 两个D都是 一样的。这种情况没有考证过,如果存在,然后脸真的这么黑的话....解决方案为: 最后君扇了一下倒数第二君的屁股,报BOSS或者自己中的一个,如果刚好是自己的,则倒数第二君牺牲,制作密钥暗码,存活999;如果最后君报错存活998