Geek
majer @ 2021.12.04 , 23:55
脑力小体操 “称假币”问题的难度变种
上一期 4-8岁儿童的益智火柴puzzle(附可引发脑力风暴的上期解答) ,就没必要给出解答了吧,毕竟是面向4-8岁儿童的益智问题。
今天的则是经典称量金币puzzle的变种(前段时间在某博客看到的。详见下期解答篇。敬请期待厚)。
已知有9枚金币,其中 1枚 是以铜为主的假币。为方便计,假设标准金币的质量在高精度范围内都一样。在经典情况下,如果给你一台三角天平(就是像跷跷板那种,童虎天秤座圣一的造型),则称2次就必然能找出那枚假币(若你从来没听说过这个puzzle,不妨先思考一下这个问题)。
很多程序员估计都听说过fake-coin算法,那就是针对这一问题一般化的算法。
但是,注意了,这一次,我们不用机械三角天平。你所用的是“电子天平”,它不会直观地显示哪边重哪边轻,而是在全部称完后把每次的结果一并打印出来。当然正常来说,使用这种天平,我们可以称重一次就打印一次结果,但现在规定,在面对当下挑战任务的时候,你仅能打印一次。
也就是说,你没法根据第一次的反馈结果来设计第二次称量,必须事先规划出完整的称法。
好了,现在你能仅称2次就找到假币吗?
因为有朋友回复说太简单,脑子刚做完热身运动,答案就出来了。那再来个选作的:27枚金币中有1枚假币,用电子天平称3次找出来?