智力题---100个球两个人轮流拿,每次最多拿n个,谁拿到最后一个球获胜

前言

同事出去面试,回来说被问到了一个题,复述了下感觉挺有意思,做下记录

题目

假设排列着100个乒乓球,由两个人轮流拿球装入口袋,能拿到第100个乒乓球的人为胜利者。
条件是:每次拿球者至少要拿1个,但最多不能超过5个,
问:如果你是最先拿球的人,你该拿几个?以后怎么拿就能保证你能得到第100个乒乓球?


分析

我们不妨逆向推理,如果只剩6个乒乓球,让对方先拿球,你一定能拿到第6个乒乓球。
理由是:如果他拿1个,你拿5个;如果他拿2个,你拿4个;如果他拿3个,你拿3个;如果他拿4个,你拿2个;如果他拿5个,你拿1个。

我们再把100个乒乓球从后向前按组分开,6个乒乓球一组。100不能被6整除,这样就分成17组;第1组4个,后16组每组6个。这样先把第1组4个拿完,后16组每组都让对方先拿球,自己拿完剩下的。这样你就能拿到第16组的最后一个,即第100个乒乓球。
解答:解:根据以上分析,把100分成6个一组,余数是几,我就先拿几个,
100÷6=17(组)…4(个)

答:我先拿4个,他拿1~5中的n个,我拿6-n,依此类推,保证我能得到第100个乒乓球。

点评:本题属于典型的不会输的游戏,即如果所给的数除以6,有余数,先拿余数,再与对方拿的个数和是6,即可获胜,如果没有余数,就让对方先拿,自己再拿时与对方拿的个数和是6,自己一定获胜。

来源

  • 5
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值