← 完整题目索引

PROJECT EULER · #0882

删除二进制位

Removing Bits

仅题目 · 已解决原题 ↗

博士。一号和零博士正在玩以下党派游戏。
游戏从一个 1、两个 2、三个 3、...、n n 开始。从一号博士开始,他们依次采取行动。
Dr. One 选择一个数字,并通过从其二进制展开式中删除 1 来更改它。
零博士选择一个数字并通过从其二进制扩展中删除 0 来更改它。
无法移动的玩家失败。
请注意,任何二进制扩展中都不允许使用前导零;特别是没有人可以对数字 0 采取行动。

他们很快意识到零博士永远无法赢得比赛。为了让它更有趣,零博士被允许多次"跳过回合",即将回合传回给一号博士,而无需采取任何行动。

例如,当n=2时,如果允许跳过2回合,零博士就可以赢得游戏。示例游戏: [1,2,2]Dr. One[1,0,2]Dr. Zero[1,0,1]Dr. One[1,0,0]skipDr. Zero[1,0,0]Dr. One[0,0,0]skipDr. Zero[0,0,0].S(n) 为零博士所需的最小跳跃次数,以便制定制胜策略。
例如,S(2)=2S(5)=17S(10)=64

S(105)

题解待补充

这道题的题目已收录,解题思路、代码和答案将在后续补充。