欢迎光临散文网 会员登陆 & 注册

经典真假金币题升级版

2022-09-29 13:22 作者:冷枫の月亮湖  | 我要投稿

今天有点无聊,想起来一道很老的金币题,大家想必都见过,题目是这样的:

“现在有10袋金币,其中有一袋金币是假的,已知一枚真金币10g,一枚假金币比真金币少1g,假设现在你手上有一个电子秤可以称出物体的重量,最少需要称几次才能知道哪袋是假金币?”

这题算是非常经典的了,所以解答我就不说了,我打算升级一下。

“现在对于上面那道题,如果不知道真金币的重量,也不知道假金币的重量(而且真假金币哪个更重也不知道),那最少需要称几次才能知道哪袋是假金币?”


大家可以先思考一下,解答在下面↓↓↓↓

我的个人解答如下:

首先,把10袋金币依次编号1~10号(贴标签)


然后,设真金币的重量为x克,假金币与真金币的重量差值为y克,假金币的袋数编号为z,每次用电子秤测量的读数分别为α、β、δ、ε(以此类推,希腊字母)


接着,我们先从第1袋拿出一枚金币,第2袋拿出两枚金币,第3袋拿出三枚金币……第10袋拿出十个金币,然后把这55个金币放到电子秤上,记下读数α,由此可以得出以下方程:        

         

                    55x+zy= α        ①

接着我们再从每个袋子里拿出一枚金币,放在刚才有55个金币的电子秤上,进行第二次称重,并记下读数β,由此可以得出以下方程:

         

                   65x+(z+1)y=β      ②

此时大家不难看出,由于两个方程中α和β为已知量,所以我们只要再通过一次称重,得出一个与x,y,z有关的方程,便可以组成一个三元一次方程组,但这是不可能的,接下来不论如何称重,都无法得出一个有用的方程。

大家首先想到的肯定是如法炮制,再从每个袋子里拿出一个金币,然后得到方程:


                  75x+(z+2)y=δ   ③

但这个方程是无效的,因为把③-②就得到了  10x+y=δ-β,但早在一开始得出①②两个方程的时候,这种方法就已经用过了,把②-①也会得到10x+y=β-α,所以方程③是没有用的。

那么可能还会有人这么想: 既然这个把戏玩不通了,那就换一个,比如从第1袋拿出两个金币,第2袋拿出四个金币……第10袋拿出二十个金币,就得到方程:


                     110x+2zy=ε   ④

很遗憾,这种方法也是无效的,因为这种方法只剩单纯把方程①乘以2的结果,我们甚至可以得出ε=2α,对于这种可以预知接下来称出金币具体重量的方法,是没有用的,不信你代入方程组中算一下就知道了。


那么,现在我们似乎已经江郎才尽了,关键是题目一开始的条件给的太少了,所以,我个人最终也只想到一种最朴素的方法,首先,我们手上有两个有用的方程:


                     55x+zy= α    ①

                    65x+(z+1)y=β      ②

我在想,如果x,y,z中如果有一个是已知量,那么这不就是一个二元一次方程组吗?可是如何知道其中一个量呢?我觉得从x入手是唯一的办法。

我的做法是这样的:

把刚才电子秤上的金币全都放回原来的袋子里,然后从第一袋中拿出1个金币放在电子秤上测出读数后放回去,再从第二个袋子拿出1个金币测出读数后放回去。现在,如果两个金币质量相等的话,那么我就成功得到真金币x的值了,再代入①②,解出这个二元一次方程组就得到z了。(注:由于不知道真假金币哪个更重,所以解出的y有可能是正数也可能是负数) 

但假设我们运气差,刚刚两个金币质量不相等,那也就是说这两个金币一真一假,那我们也只需要再从第三个袋子拿出一个金币测出读数后,刚才那两个金币肯定有一个质量不等于第三个金币,那么那个金币所对应的袋子就都是假金币。也就是说,如果运气差,我们也只需要多测一次就行了。

整理: 运气好的话,刚刚那两袋+①②两个方程所测的两次,一共4次就可以找出假金币;若运气差的话,则多一次,即5次就可以找出假金币。


综上所述: 最少需要称5次才能知道哪袋是假金币。


(这里题目问的是“最少”,所以要做最坏的打算,如果我的运气爆棚的话,我甚至不需要任何数学方法,我如果运气好前两次测出来不相等,第三次再测肯定就知道假金币哪袋了,要真运气这么好早去买彩票了)


这个文章里的方法是我自己想的,如果大佬们有更好的解法欢迎分享在评论区。

经典真假金币题升级版的评论 (共 条)

分享到微博请遵守国家法律