有20个棋子,两人轮流拿,每次只能拿1.2.3个,谁拿到最后一个,谁就赢,要怎么拿才赢?

2025-05-13 19:37:20
推荐回答(2个)
回答(1):

后拿的有必赢的办法。方法是,先拿的如果拿N(N=1\2\3)个,后拿的拿4-N个就行。比如,先拿的拿1个,则后拿的拿4-1=3个。每次轮流拿,后拿的总会使剩下的棋子保持4的倍数,最后一轮剩下4个,必然拿到最后1个。

回答(2):

为了确保先拿的人获胜,我们需要找到一种策略,使得先拿的人能够确保拿完最后一个棋子。
我们可以尝试倒推,从还剩6个棋子开始,每轮拿走剩下棋子数量的约数(1个或2个或3个)
当还剩6个棋子时,先拿的人拿3个,剩下3个,对方拿1个或2个或3个,先拿的人就可以拿走剩下的棋子。
当还剩9个棋子时,先拿的人拿3个,剩下6个,对方拿1个或2个或3个,先拿的人就可以拿走剩下的棋子。
当还剩12个棋子时,先拿的人拿3个,剩下9个,对方拿1个或2个或3个,先拿的人就可以拿走剩下的棋子。
以此类推,我们可以得到一个策略:无论还剩几个棋子,先拿的人总是先拿走剩下棋子数量的约数,这样就可以确保自己拿完最后一个棋子,从而获胜。