Gizmodo周一难题:你能通过这个金融工作面试测试吗?

admin 22 2025-02-08 07:26:40

本周这个可爱的谜题是我们的一位读者尼古拉斯·奥德(Nicolas Audet)让我注意到的。尼古拉斯说,这是一个金融工作面试的脑筋急转弯。在这个问题上,我不得不把它交给华尔街——这是一个令人愉快的小谜题。谢谢分享,尼古拉斯!

这是一个提醒你的好机会,如果你知道一个很酷的谜题,无论是原创的还是其他的,把它发给我,它可能会在这里得到推荐。不确定你的谜题是否适合这个系列?试试我,我会告诉你的。你可以在Twitter上发消息给我@JackPMurtagh,或者发邮件给我gizmodopuzzle@gmail.com

你错过上周的拼图了吗?点击这里查看,并在本文末尾找到解决方案。如果你还没有解决上周的问题,请注意不要读得太远!

谜题#18长厅

有一个走廊,有100个门,依次标有1、2、3等,直到100。起初,所有的门都是关着的。通过切换一扇门,我的意思是改变它的位置(即如果它关闭,打开它,关闭它)。你沿着大厅走,打开每一扇门(在这种情况下,打开所有的门)。然后第二个人走过,每隔第二扇门(2、4、6等)就切换一次,然后第三个人每隔第三扇门(3、6、9等)就切换一次,直到第100个人只切换第100扇门。哪扇门在尽头是开着的?

当然,你可以通过强行模拟走廊并观察哪扇门最终打开来解决这个问题。通过思考问题,发现门最终打开或关闭的原因,会让人更满意。

下周一我们将带着答案和新谜题回来。


谜题17的解决方案:毒药ning僵尸

上周,你牺牲了不死族来拯救你的部族。要在一天内从1000个桶中找出有毒的桶,你只需要10个僵尸。你将从多个桶中喂僵尸水滴,并跟踪你喂给哪些僵尸的桶。关键的想法是给每个桶分配一组独特的僵尸来品尝。为了更好地理解这是如何工作的,让我们假设我们只有4个桶1、2、3、4和两个僵尸a和b。我们只把桶2喂给僵尸A;桶3只对僵尸B;4号桶给两个僵尸。然后我们观察谁死了。如果两个都没死,那么1号桶就是罪魁祸首。如果只有A死了,桶2就是罪魁祸首,以此类推。死亡的僵尸子集是一个与特定桶相关联的独特指纹。

请注意,如果我们有5个桶,那么2个丧尸将无法解决问题,因为2个丧尸只能形成4个独特的子集。为了扩大这种方法的规模,问题变成了:你可以从10个僵尸中形成多少个独特的子组?答案是210个,也就是1024个,足够测试全部1000桶了。如果《210》对你来说是全新的内容,那么再一次将僵尸的数量考虑进去。如果只有一个僵尸,就有两个可能的组(2 = 21),即僵尸本身和根本没有僵尸。对于两个僵尸,我们可以得到4个可能的子集(4 = 22)。每个僵尸都有两种可能的状态:在群体中或不在群体中,所以每增加一个僵尸,我们可能组成的群体数量就会增加一倍。

书面解决方案是有效的。但是,如果您想要一种巧妙的系统方法来为每个桶实际分配一组唯一的僵尸,您可以使用二进制数。

将桶从0到999编号,然后将每个桶号转换为二进制。每个桶号的二进制表示中的1将告诉我们从桶中喂食哪些僵尸,而0将告诉我们跳过哪些僵尸进入桶中。例如,771的二进制数是1100000011。将这10个数字序列对应到10个僵尸。将僵尸排成一排,我们将把桶771只喂给前两个和最后两个(对应于771二进制表示中的那些)。例如,如果左侧只有第3和第5个僵尸死亡,那么我们就知道桶0010100000 = 160是罪魁祸首。

Eugenius发现了二进制数的解,并很好地解释了它。

解谜#17b

用两天时间运行测试会增加复杂性。要在2000个僵尸中找到受污染的桶,你只需要7个僵尸!我们从第一个谜题中借用二进制数的技巧。然而这一次,对于每个桶,每个僵尸都有三种可能的动作:不喝它,第一天喝它,或者第二天喝它。所以我们给每个桶分配一个唯一的7位数标签由0,1和2组成。再一次,假设我们有两个僵尸A和b,当我们只有一天的时间来运行测试时,我们只能处理四个桶和两个僵尸。再过两天,我们就能测试九个了。以下是我们的9个桶标:

00、01、02、10、11、12、20、21、22

僵尸A会根据最左边的数字喝水,这意味着他根本不会喝前三个桶的水,他会在第一天喝后三个桶的水,在第二天喝最后三个桶的水。僵尸B会根据最右边的数字喝水。注意,僵尸A可能会在第1天死亡,无法活到第2天。不过这是可以的!因为如果A在第一天死亡,那么我们就知道只有10、11和12桶可能是罪魁祸首(A在第一天没有喝从0或2开始的桶)。所以我们不再需要测试A在第二天负责的桶。如果B没有死,那么10号就是罪魁祸首,如果B在第一天之后死了,那么11号就是罪魁祸首,如果B在第二天之后死了,那么12号就是罪魁祸首。

这种现象会逐渐扩大。如果第n个僵尸在第1天之后死亡,这意味着有毒桶标签的第n个数字是1。如果第n个僵尸数字在第2天之后死亡,那么第n个数字就是2。如果第n个僵尸没有死,那么第n个数字就是0。通过观察哪些僵尸在哪些日子死亡,我们可以拼凑出这个标签。

这又回到了一个问题,我们可以制作多少个由0、15和2组成的7位数标签(对应于7个僵尸)?这些被称为三元数,因为它们使用三个不同的数字(0,1和2),就像二进制数使用两个数字(0和1)一样。有37 = 2187个这样的7位数标签,足够测试2000桶了。

Eugenius还以一种有指导意义的方式解决了b部分,他没有使用三元数方法,无意中发现了这个简洁的组合恒等式。

上一篇: 一分钟普及 ”九酷大厅购买房卡”详细房卡教程
下一篇: 一分钟普及 ”超级三加一购买房卡”获取房卡教程
相关文章

 发表评论

暂时没有评论,来抢沙发吧~