半夜上厕所无聊,刷知乎看到了这道题目,觉得很有意思分享给社区里的小伙伴,一起掉头发
12 个乒乓球,有一个不知轻重的次品,用一台无砝码的天平称三次,找出次品,说明轻重
先把乒乓球分为三组,两两一组,会有两种情况,1,重量一样 2,重量不一样 情况 1,重量一样只需要把剩下的两个随便一个放进重量相同的一组,重量相同,次品就是没有参与称重的。 若是重量不同,次品就是产于称重的球
情况 2 重量不一样 再把没有参与称重的 跟参与过第一次称重的 比对,会出现两种情况,一样重和重量不同。一样重把剩余的一组随便拿一个替换第二次称重的球,方式同情况 1 称重次数 3 次 重量不同的话 出现问题的就是参与过两次称重的一组,将这组的球替换另外两组随意一个球,能够分辨出次品
往高了说这是小学奥林匹克题。
情况 1,重量一样只需要把剩下的两个随便一个放进重量相同的一组,重量相同,次品就是没有参与称重的
没有参与称重的还有两个且不知道次品的轻重,你怎么知道哪个是次品
没发生变化 是不是那个没有动的球就是次品 老铁
说是次品 意思就是不确定它的重量,无非两种情况,一比普通乒乓球重,二比普通乒乓球轻,不管什么情况,三次就能分辨出了
二分法。6 -> 3,两次,最后剩下 3 个,再分别放一个到天平两端称下即可。
不就是三次二分法吗?最后 3 个球的时候,随机找两个对比,就能知道哪个重量不同了
这题如果是数组中找出唯一不同的值,那是不是就简单多了
12 个球 3 个一组分成 4 组,ABCD
第一称:随便拿出两个组称重,例如 AB,结果一定能锁定奇异球在两组中,假设锁定在 CD 中
第二称:C 与 A 称重,结果一定能确定奇异球在哪个组,假设为 C,且能知道奇异球是更重还是更轻,假设为更重
第三称:C 组的 3 个球取出两个球称重,若相等则奇异球为剩下的一个,若不等则根据第二称的轻重也能知道奇异球是哪个