[中译] ProjectEuler 509 Divisor Nim

楼主: tml (流刑人形)   2015-04-16 06:00:00
509. Divisor Nim
https://projecteuler.net/problem=509
Anton和Bertrand很喜欢玩三堆的Nim游戏(注)。
然而,玩了太多场后,他们终究是感到厌烦了。所以,他们改变了一下规则。
在决定从一堆石头中取走多少颗时,他们只能取该堆石头总数的因子,但不能全取。
例如:如果有一堆石头在某一时刻有24颗时,玩家只能取1,2,3,4,6,8或12颗石头。
不难得知,当一堆石头被拿到只剩一颗时,是无法再被取走的。
当有玩家无法进行任何行动时,他就输了。
当然,Anton和Bertrand都会采取最佳策略来进行游戏。
令(a,b,c)代表这三堆石头的个数。
令S(n)表示在所有1≦a,b,c≦n的情况中,先手必胜的配置数。
S(10) = 692以及S(100) = 735494。
请求出S(123456787654321)对1234567890的余数。
注:Nim游戏是一种两个人玩的回合制数学战略游戏。游戏者轮流从一堆棋子
(或者任何道具)中取走一个或者多个,最后不能再取的就是输家。当指
定相应数量时,一堆这样的棋子称作一个Nim堆。(by wiki)
http://zh.wikipedia.org/zh-tw/%E5%B0%BC%E5%A7%86%E6%B8%B8%E6%88%8F

Links booklink

Contact Us: admin [ a t ] ucptt.com