华硕笔试智力题显然,为了避免成为受害者,对第n个人(n>=3)而言,他的最佳策略就是取前面所有人取的豆数的平均值
先来看看n=3,即第3个人的情况
在他之前,1号和2号已经摸过了,分别记为A和B,以下用逻辑表达式的形式来描述3号所取的豆数C
C=(A+B)/2//3号的初始策略,取前两个人的平均值if(A+B+C)>100//1号和2号加起来取走了超过67个{C=100-(A+B+1+1)ifC==1return0//1号和2号共取走了97个,3、4、5号认命elsereturn1//3号安全
C必定小于A、B中的一个,并且必定大于D、E}else{ifAB{ifC==int(C)//整除{return1//3号安全
C必定位于A、B二者之间}else{C=int(C)ifabs(A-B)==1//1号、2号所取的数只相差1个return2//此时C=min(A,B),因此肯定已经不可能是最多的
后面的4号、5号理论上还有可能犯错误,3号还存在一线存活的机会elsereturn1//3号安全
C必定位于A、B二者之间}}else{return2//此时C=A=B
后面的4号、5号理论上还有可能犯错误,3号还存在一线存活的机会}}上面这段程序完全可以扩展到n>3的情况,最后我们会发现虽然理论上3号比较有利,实际上1号根本不会给后面的人设计他的机会
所以唯一合理的结果应该是A=B=C=D=E=20,也就是全都死翘翘
当然,以上推理有一个重要的假定,即“很聪明”的定义如下:“如果无论如何我都会出局,则多一个垫背的比少一个好
”华硕笔试题(共6道,一个半小时)ZZ华硕笔试共六道题,一个半小时
1、编程:求字符串的长度
2、编程:判断单项链表中是否含循环链
3、智力题:八个大小颜色一样的球中有一个重量不同,一架天平只称两次将不同的求挑出来
4、智力题:推广到N个球,写出称的次数的递推