有一道苹果公司面试软件工程师的面试题,题目如下:
有100枚硬币平摆在桌面上,每个都有正面和背面。其中,10个正面朝上,剩余90个背面朝上。你不能触摸、看以及以任何其它方式去感知它们是处于正面或者是背面。请将硬币分成两拨,使每一拨里正面朝上的硬币数目一致。
解法其实很简单:
从100枚硬币中,分出来10枚,翻转,则翻转后的10枚堆和剩余的90枚堆,正面朝上的硬币数目一样。
假设分出来的10枚堆里面,初始状态有X枚是正面朝上的,翻转后则为(10-X)枚,而剩余的90枚堆里面,也是(10-X)枚正面朝上。