神奇的取模运算。
- 设计一种策略,保证自己 100% 能赢;
- 确定好自己的策略之后,每一次要视对方的行为而确定自己的拿取情况;
1. 什么是拿硬币(数数字)游戏?
拿硬币(数数字)是两个人玩的游戏,要求每个参加者轮流拿走若干硬币,谁拿走最后一枚硬币,谁就算赢。比如,桌上放有 15 枚硬币,A、B 为游戏的参与者,规则是每人每次最少拿 1 枚硬币,最多拿 5 枚硬币。
规律的总结:
- (1)
被除数
为硬币的个数; - (2)
除数
为规则中允许的最少硬币数+最多硬币数
(1+5=6); - (3)如何保证自己能赢?
- (1)除尽的情况下,后拿者赢;(后者每次拿的个数都是
除数 - 前者拿的个数
) - (2)除不尽的情况下,先拿者赢;(先拿者先拿出
被除数
对除数
的余数
,然后的每一个回合,拿出除数-前者拿出的个数
)
- (1)除尽的情况下,后拿者赢;(后者每次拿的个数都是
2. 拿火柴
火柴第一堆3根,第二堆5根,第三堆7根,每次可以取任意一堆的任意数量,谁拿最后一根谁输。
- 先拿;
- 先拿第一堆 1 根;