- 相關(guān)推薦
華碩筆試智力題
顯然,為了避免成為受害者,對(duì)第n個(gè)人(n>=3)而言,他的最佳策略就是取前面所有人取的豆數(shù)的平均值。
先來(lái)看看n=3,即第3個(gè)人的情況。在他之前,1號(hào)和2號(hào)已經(jīng)摸過(guò)了,分別記為A和B,以
下用邏輯表達(dá)式的形式來(lái)描述3號(hào)所取的豆數(shù)C。
C = (A + B) / 2 //3號(hào)的初始策略,取前兩個(gè)人的平均值
if (A + B + C) > 100 //1號(hào)和2號(hào)加起來(lái)取走了超過(guò)67個(gè)
{
C = 100 - (A + B + 1 + 1)
if C == 1
return 0 //1號(hào)和2號(hào)共取走了97個(gè),3、4、5號(hào)認(rèn)命
else
return 1 //3號(hào)安全。C必定小于A、B中的一個(gè),并且必定大于D、E
}
else
{
if A<> B
{
if C == int(C) //整除
{
return 1 //3號(hào)安全。C必定位于A、B二者之間
}
else
{
C = int(C)
if abs(A - B) == 1 //1號(hào)、2號(hào)所取的數(shù)只相差1個(gè)
return 2 //此時(shí)C = min(A,B),因此肯定已經(jīng)不可能是最多的。后面的4號(hào)、5號(hào)理論
上還有可能犯錯(cuò)誤,3號(hào)還存在一線存活的機(jī)會(huì)
else
return 1 //3號(hào)安全。C必定位于A、B二者之間
}
}
else
{
return 2 //此時(shí)C =A = B。后面的4號(hào)、5號(hào)理論上還有可能犯錯(cuò)誤,3號(hào)還存在一線存
活的機(jī)會(huì)
}
}
上面這段程序完全可以擴(kuò)展到n>3的情況,最后我們會(huì)發(fā)現(xiàn)雖然理論上3號(hào)比較有利,實(shí)
際上1號(hào)根本不會(huì)給后面的人設(shè)計(jì)他的機(jī)會(huì)。所以唯一合理的結(jié)果應(yīng)該是A = B = C = D
= E = 20,也就是全都死翹翹。
當(dāng)然,以上推理有一個(gè)重要的假定,即“很聰明”的定義如下:
“如果無(wú)論如何我都會(huì)出局,則多一個(gè)墊背的比少一個(gè)好!
【華碩筆試智力題】相關(guān)文章:
華碩筆試歸來(lái)11-21
華碩筆試題02-18
外國(guó)名企面試筆試智力題大搜羅02-18
微創(chuàng)智力題02-18
500強(qiáng)面試智力題11-19
Oracle筆試,分享筆試內(nèi)容11-21
筆試經(jīng)驗(yàn):筆試內(nèi)容準(zhǔn)備11-21
[筆試]521KPMG筆試11-19