龙空技术网

每日一题之天平称假币 #广东事业单位

有资有料 489

前言:

如今咱们对“天平找假币算法代码”大约比较关心,大家都需要分析一些“天平找假币算法代码”的相关知识。那么小编在网摘上搜集了一些关于“天平找假币算法代码””的相关文章,希望朋友们能喜欢,小伙伴们一起来了解一下吧!

每天一道经典例题。

各位小伙伴们大家好,我是有资有料。今天给大家分享一道天平称假币问题。老规矩,先按暂停键自己做一下,再来听老师讲解。

先念一遍题目:小孟有五十八枚硬币,其中一枚为假。目前已知真币重量相同,假币重量偏轻。如果小孟手中只有一个天平,则至少称几次就一定能够找出假币。

在讲之前老师通过一个小的例子帮大家梳理一下思路。假如现在没有五十八枚硬币,只有十六枚硬币。很多小伙伴就不自觉的将十六枚硬币平均分成两组进行去称,因为他觉得天平左右两个牌要分成两组,但是分成两组是不是达到自由解能否得到至少称的次数?先去验证一下。

·第十六分成八和八,第一次去称的时候不管假币在哪个八当中,总之第一次称完了就剩八枚硬币,以此类推。八再平均分成两组,是不是第二次称完了同样就剩下四枚硬币?再分成二和二。

·第三次称完了就剩下两枚硬币,再分成一和一。

·第四次再称就会得出最终的假币来了。这种是称了四次,这四次有没有达到至少这块就不见得。因为很多小伙伴都陷入了一种思维定式,觉得天平左右两个牌就得分成两组,其实不然。这种题既然出最少肯定是有自由解。

假如不分成两组的情况下能不能分成三组?大家有没有考虑过将十六枚硬币分成三组去称?如果将十六枚硬币分成三组的情况下就是按照五、五、六这样去分了,因为十六除以三除不开。

第一次去称的情况下这里面怎么去称?肯定是拿数量相等的去称,数量相等其中假如处于平衡的状态,假币肯定就会在六当中。如果两个五和五去称,一重一轻,是不是假币肯定在五当中?第一次称完之后要么六,要么五。六加了再分成二,二分成三组。

按照刚才逻辑思维在第二次去称,第二次去称不管假币在哪个二当中,反正最终只剩下二了。接下来再去称一次,假币就出来了。这下只用三次就可以了。假如假币在五这块无外乎就分成二、二、一组合了。第二次生如果假币在二当中就剩下两个,如果属于平衡,剩下的一必然是假币。

接下来第二再分成一和一去称一下第三次,假币也就出来了。所以这里面十六次如果分成三、三,按照三、三去分组的情况下只需要称三次就可以了。很多小伙伴就说老师,这个一只需要称两次就出来了,但是两次就能够保证这个一就一定是假币吗?不能保证,所以还得去验证这一次才是可以的。

所以明显发现平均分成三份要比平均分成两份更加具有高效性。谁说这种天平称假币问题最优解是将所有的硬币平均分成三组。如果每次都是按照三组三组三组去称的情况下,就总结出来一个规律,就是三的n次方。如果大于等于十六,n的值就是次数,n只能取三,三的二次方是九不行,只能取三的三次方就可以了。

所以以后遇到不管多少枚硬币没必要进行媒举了,像这道题就直接进行操作,三的n次方大于等于五十八,n就直接大于等于几?四就可以了。因为三不行,是不是只能取到四?只能取到四,所以答案选择是a选项。这块要求必须把结论记下来,就是天明乘假b问题,三的n次方大于等于总应b数n为称得的次数就可以了,大家直接记结论。

标签: #天平找假币算法代码