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

100根火柴,两个人轮流取,每个人每次只能取1~7根,谁拿到最后一根火柴谁赢;问有必胜策略吗,有的话是先手还是后手必胜?

第一步:从结论出发,谁拿到最后一根火柴谁赢。同时考虑约束条件每个人每次只能取1~7根。 因此Loser最后一次抽取火柴后必须剩下1-7根火柴,Winner才能成为最后的赢家

也就意味:Winner在其倒数第二次抽取完火柴后 ,剩余火柴的数量必须是8根,才能确保无论Loser在其最后一次怎么抽取火柴都要1-7根火柴留给Winner。

如果剩下了7根,loser可以直接抽完并获胜
如果剩下了9根,loser抽最多7根,winner抽2根获胜,但是loser肯定不想输的,所以他可以抽1根,剩下8根,winner抽7根,剩下1根,loser就可以赢了

所以在第一步,我们将问题向上归约为:Winner必须在倒数第二次抽取完后将剩余火柴的总数量控制在8根。是不是感觉离已知条件(100根火柴)近了点

第二步,继续归约:怎样才能确保Winner在倒数第二次抽取完后将剩余火柴的总数量控制在8根? 问题转换一下就是说,在Winner在进行倒数第二次抽取时,当时的火柴是多少根时,Winner能确保完成抽取后能剩下8根火柴?答案很显然是(9-15)根。Winner抽取(9-15)根中的1-7根就一定可以保证留8根给Loser。

分析到这里,问题归约为:如何确保Loser在Winer上一轮抽取后,一定剩下9-15根火柴?离已知条件(100根火柴)又近了点。

第三步,继续归约。从第二步归约出的问题思考:Loser倒数第二次抽取火柴后必须剩下9-15根火柴。是不是似曾相识啊?和第一步思考的问题一致。答案显然是:Winner在其倒数第三次抽取火柴后剩下16根火柴给Loser。

到这里,我们将问题向上归约为:Winner必须在倒数第三次抽取完后将剩余火柴的总数量控制在16根。离已知条件(100根火柴)又近了点。

方法

能确保抽完火柴后,剩下的火柴数量只要是8的倍数就一定是完胜。因为共100根,所以只要先下手为强抽调4根火柴就一定是最后的赢家

假设排列着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,自己一定获胜。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值