【樓主】2013-01-08 20:35
» 已知ABCD四張牌 不知道每張牌的具體值但可通過比較知任意兩張之間的大小關(guān)系 問最少比幾次能找出四張里最大的兩張牌剛剛一朋友問我的,好久不做碼農(nóng)了沒頭緒,求高人解決
網(wǎng)友評論2013-01-08 20:41
三次?第一次比大小,第二次拿第一次大的和第三張比,這樣能排出三張的大小順序,第四張和最大的比,如果第四張大于前三張最大的,能出結(jié)果。如果小就和第二大的比,它大就是它,它小就是那個(gè)它 哦,是四次…-------發(fā)自NOKIA Nokia 800上的
微民網(wǎng)Brush for WP7
網(wǎng)友評論2013-01-08 20:43
兩次吧……每次能翻兩張吧?
網(wǎng)友評論2013-01-08 20:47
四次
網(wǎng)友評論2013-01-08 20:49
我覺得正確答案是 需要四次
網(wǎng)友評論2013-01-08 20:49
4次簡單論證一下:4個(gè)數(shù)排列總共有4!=24種組合其中,如果只看最大的兩個(gè),應(yīng)該是P(4,2)=12種組合而每次比較,只能排除不超過1/2的可能性那么需要的理論最小次數(shù)就是 log2 12 = 3.xxxxxx所以是4以上證明為理論最小值,并不代表:1.一定要4次才能比較出結(jié)果如果選取數(shù)值運(yùn)氣好,可能不需要4次就出結(jié)果。但是,最壞運(yùn)氣下,不會低于4次。2.4次比較出結(jié)果的算法已經(jīng)被發(fā)現(xiàn)這只是個(gè)理論數(shù)值,對于4個(gè)數(shù)字也許可行,對于較大的數(shù)字(例如N=20),算法不一定已經(jīng)被發(fā)現(xiàn)
網(wǎng)友評論2013-01-08 22:22
只求最少幾次的話,沒有用數(shù)學(xué)方法,僅憑經(jīng)驗(yàn):第一次結(jié)果:A>B,C>D。第二次結(jié)果:B>C得到結(jié)果:最大的數(shù)字是A和B兩張。視得到第一次結(jié)果的對比算一次還是兩次,結(jié)論是2次/3次。