【楼主】2013-01-08 20:35
» 已知ABCD四张牌 不知道每张牌的具体值但可通过比较知任意两张之间的大小关系 问最少比几次能找出四张里最大的两张牌刚刚一朋友问我的,好久不做码农了没头绪,求高人解决
网友评论2013-01-08 20:41
三次?第一次比大小,第二次拿第一次大的和第三张比,这样能排出三张的大小顺序,第四张和最大的比,如果第四张大于前三张最大的,能出结果。如果小就和第二大的比,它大就是它,它小就是那个它 哦,是四次…-------发自NOKIA Nokia 800上的
微民网Brush for WP7
网友评论2013-01-08 20:43
两次吧……每次能翻两张吧?
网友评论2013-01-08 20:47
四次
网友评论2013-01-08 20:49
我觉得正确答案是 需要四次
网友评论2013-01-08 20:49
4次简单论证一下:4个数排列总共有4!=24种组合其中,如果只看最大的两个,应该是P(4,2)=12种组合而每次比较,只能排除不超过1/2的可能性那么需要的理论最小次数就是 log2 12 = 3.xxxxxx所以是4以上证明为理论最小值,并不代表:1.一定要4次才能比较出结果如果选取数值运气好,可能不需要4次就出结果。但是,最坏运气下,不会低于4次。2.4次比较出结果的算法已经被发现这只是个理论数值,对于4个数字也许可行,对于较大的数字(例如N=20),算法不一定已经被发现
网友评论2013-01-08 22:22
只求最少几次的话,没有用数学方法,仅凭经验:第一次结果:A>B,C>D。第二次结果:B>C得到结果:最大的数字是A和B两张。视得到第一次结果的对比算一次还是两次,结论是2次/3次。