Divisibility Game


Table of Contents

题目

爱丽丝秘密地写下一个大于100的正整数。鲍勃每次可以猜一个大于1的数\(k\),如果\(k\)能整除爱丽丝的数,鲍勃获胜。否则\(k\)会从爱丽丝的数中被减去,且鲍勃不能再用这个\(k\)。如此循环,直到鲍勃猜中因数(鲍勃赢),或爱丽丝的数变成0或负数(爱丽丝赢)。 鲍勃有没有必胜策略?

分析

这个游戏的关键在于,Bob可以通过巧妙地选择一系列较小的数字,使得无论Alice选什么数,最终都能被Bob的某个数整除。

我们以模\(12\)为例,Bob可以依次猜\(2,3,4,6,16,12\)。下表细致展示每一步递推过程,每轮只用一个\(k\),直到所有余数被归零:

下面严格按照你给的2,3,4,6,16,12顺序,每一步只递推当前余数集合和本轮\(k\),直到所有余数被消除:

步骤 当前余数集合 Bob猜测\(k\) \(k\)整除的余数 未被整除的余数 未被整除的余数减去\(k\)后(mod 12)
1 0,1,2,3,4,5,6,7,8,9,10,11 2 0,2,4,6,8,10 1,3,5,7,9,11 11,1,3,5,7,9
2 11,1,3,5,7,9 3 3, 9 11, 1, 5, 7 8, 10, 2, 4
3 8, 10, 2, 4 4 8, 4 10, 2 6, 10
4 6, 10 6 6 10 4
5 4 16 - 4 0
6 0 12 0 - 游戏结束

每一行只处理当前余数集合和本轮\(k\),未被整除的余数进入下一步。可以看到,所有余数最终都被消除。

最坏情况下,Bob的猜测序列\(2,3,4,6,16,12\)的和为\(43\),远小于\(100\),因此Alice的数在Bob用完这些数之前不会变成负数。

这个策略的本质是利用模数覆盖和递推,使Alice无法逃脱被整除的命运。

另外一个可行的猜测序列,是\(6,4,3,2,5,12\)

Next