题目一:
你的面前有30个硬币,其中有10个正面朝上,20个反面朝上,混乱在一团。
要求:现在用厚布遮住你的眼睛。要你把30个硬币分成2团,每团正面朝上的硬币个数相等。问:你要怎么分?不能用手去触摸感觉,也没有其他人帮忙。
题目二:
有4枚硬币,初始状态未知。你的眼睛被蒙住,看不到硬币的状态,但可以随便翻任何几个硬币。你每翻一次以后,如果4枚硬币的状态是全正面朝上或者全背面朝上,旁边的人会告诉你翻成功了。现在问你,最少翻几次可以保证成功?每次翻哪几枚?(百度2008年面试题)
我们用4位二进制数表示硬币的状态。由于最终的结果只要4枚硬币状态一样就行,正面还是背面没有关系,因此0000或1111都可以成功。由此又可以推出任何两个互为反码的状态是等价的,比如1001和0110,对于我们的目标来讲没有区别。因此也不必关心0和1代表的是正面还是背面,只要知道他们的位置关系就可以。
用X和O来表示翻硬币的方法。X表示把相应位置的硬币翻过来,O表示保