阿里面试问题:拿50个硬币的问题
话题面试:桌面上有50个硬币,一次可以拿2、4、6个硬币。另一个同学跟你竞争,你拿一次,他拿一次。怎么能保证拿到最后一枚硬币呢?
解决方法:这种问题可以从后面推到前面。如果你想确保得到最后一枚硬币,那么倒数第二枚硬币之后应该还有八枚硬币。这个时候,不管另一个同学拿两个、四个还是六个,那么你一定会拿到最后一个硬币。50-8=42.还剩42块。我如何能得到他们?可以观察数字2 4 6,4+4=8 2+6=8 6+2=8的特征。不管另一个学生拿了多少块,你都可以和他凑成八块,42-5X8=2,剩下最后两块。你可以先拿走它们。
回答:你先拿两个。如果另一个学生拿两个,你拿六个。如果另一个学生拿四个,你也拿四个。如果另一个学生拿六个,你拿两个。如此重复五轮,最后还剩八轮。不管他怎么拿,你都可以拿最后一个。