回复:请教:Counting-off Puzzles
这样的问题有规律可循。楼上JINJING的解法是对数到7的人退出的一般递推公式。
如果按以上方法,数到n的人退出,则有以下递推公式:
1. 如果只有1人,则其为最后剩下的人。
2. 如果有x个人时,最后剩下的是y号,则有x+1人时,最后剩下的号是(y+n)对 x+1“取模”。这里的”取模“与正常的取模稍有不同。因为没有0号,所以对 x+1 取模为0时,对 x+1 “取模”的结果为 x+1 。
证明:当有x+1人时,淘汰一人,即n号后,还剩x人。此时从n+1号开始所有人的号码实际对应x人时相应号码+n对x+1“取模”,所以最后剩下的号是x个人时,最后剩下号码+n对x+1“取模”,即(y+n)对 x+1“取模”。
以上题为例,n=7,根据上述递推公式可得:
f(1) = 1, 即只有1人,则1号为最后剩下的人
f(2) = (1 + 7) MOD 2 = 2. 这里的MOD为上述“取模”,下同。
f(3) = (2 + 7) MOD 3 = 3
f(4) = (3 + 7) MOD 4 = 2
f(5) = (2 + 7) MOD 5 = 4
f(6) = (4 + 7) MOD 6 = 5
f(7) = (5 + 7) MOD 7 = 5
f(8) = (5 + 7) MOD 8 = 4
f(9) = (4 + 7) MOD 9 = 2
f(10) = (2 + 7) MOD 10 = 9
f(11) = (9 + 7) MOD 11 = 5
f(12) = (5 + 7) MOD 12 = 12
f(13) = (12 + 7) MOD 13 = 6
f(14) = (6 + 7) MOD 14 = 13
f(15) = (13 + 7) MOD 15 = 5
f(16) = (5 + 7) MOD 16 = 12
f(17) = (12 + 7) MOD 17 = 2
f(18) = (2 + 7) MOD 18 = 9
f(19) = (9 + 7) MOD 19 = 16
f(20) = (16 + 7) MOD 20 = 3
f(21) = (3 + 7) MOD 21 = 10
f(22) = (10 + 7) MOD 22 = 17
f(23) = (17 + 7) MOD 23 = 1
f(24) = (1 + 7) MOD 24 = 8
f(25) = (8 + 7) MOD 25 = 15
jinjing
2012-07-11 20:07:00很好,...,加一说明更好: m mod m=m. ...