有一堆个数为n的棋子,游戏双方轮流拿取棋子,满足:
(1)先手不能在第一次把所有棋子取完。
(2)每次至少取走一颗棋子。
(3)每次取的棋子数不能超过对手刚取棋子数的2倍。
(4)取走最后一颗棋子的人为赢家
问:假设两人足够聪明,是否有一方有必胜策略?证明你的结论。
解答
猜想:当n为非Fibonacci数时,先手有必胜策略;当n为Fibonacci数时,后手有必胜策略。
我们先证明如下结论:当n为Fibonacci数时,后手有必胜策略。
当n=2时,先手取1剩1,后手取完。
当n=3时,先手取1剩2,后手取完。或先手取2剩1,后手取完。
记F1=2,F2=3。假设n为Fn−2和Fn−1时,后手有必胜策略(n≥3)
下面证明,n=Fn时,后手也有必胜策略。考虑到:
Fn=Fn−1+Fn−2
Fn−1=Fn−2+Fn−3<2Fn−2
而由归纳假设,后手可以在有限步之内取完Fn−2个棋子且先手面对Fn−1个棋子束手无策。
这样,就证明了结论。
下面,我们再证明:当n为非Fibonacci数时,先手有必胜策略。
当n=4时,先手取1剩3,后手取1剩2或取2剩1,先手必胜。
同样的,当n=6时,先手有必胜策略。
假设4≤n≤G(这里,G≥6且G+1不为Fibonacci数)且n为非Fibonacci数时,先手有必胜策略。
记Fn为不超过G+1的最大Fibonacci数。则G+1可写为Fn+m,这里:
1≤m<Fn−1
(2°)12Fn≤m<Fn−1时,有
m<Fn−1<Fn=G+1−m≤G
又
12Fn=12(Fn−1+Fn−2)
Fn−2<m<Fn−1
由归纳假设,先手有把握在有限步取完m个棋子,而后手面对Fn个棋子束手无策。
综上,结论得证。
- 由 Etern 发表于 2022-07-24 ,归类于 数学趣题
- 本文链接: https://etern213.github.io/2022/07/24/题目1/
- 版权声明: 本博客所有文章除特别声明外,均采用 Apache License 2.0 许可协议。转载请注明出处!