1. 有10张卡片,你和我轮流拿卡片,每次可以拿1张或者2张。那么,怎么保证你能拿到最后一张?
控制每轮拿的卡片总数都是1+2。若有N张卡片且A和B每次可拿的张数和为M,若N%M != 0,则A只要保证先拿走N%M张,然后确保每轮拿走的卡片总数为M,就能保证最后拿到的是自己。
所以我先拿一张,然后另一人拿1张时我拿2张,拿2张时我拿1张。
2. 54张卡片,甲乙轮流拿,每人每次只能拿1~4张,谁拿到最后一张谁输,先拿的人要怎样做才能获胜
确保每次均匀减少的卡片数是5,但是这次是保证自己最后不拿到。
从后往前倒:
当剩余6张牌且对方先拿牌时,可以保证最后一张让对方获得。
所以要保证先拿完48张。每轮减少5张那么最开始要保证自己先拿走48%5=3张。
剩最后一张让对方拿时,牌数可以写成5M+1的形式,及每轮5张牌,最后一轮留给对手。5M+1<=54则M取10。那么自己要先取54-(5M+1)=54-51=3张。
就第一题而言,剩最后一张自己拿时,牌数可写成3M的 形式,每轮3张牌,最后一轮归自己。3k<=10则M取3。那么自己要先取10-3*3=1张。