488. Unbalanced Nim
https://projecteuler.net/problem=488
Alice和Bob每天都快乐地玩Nim游戏(注)。然而,他们终究是对普通的三堆Nim规则
感到厌烦了。所以,他们增加了一条新的规则:
- 不能让任意两堆棋子数目相同。
我们用数组(a,b,c)来表示游戏中三堆棋子的数目。
在新的规则下,(2,4,5)对下个玩家来说是一种必败的组合。
举例来说:
- Alice下成(2,4,3)
- Bob下成(0,4,3)
- Alice下成(0,2,3)
- Bob下成(0,2,1)
不像传统的Nim游戏,在新规则下,下成(0,1,2)及其重排时,已经无法再做行动。
给定正整数N,我们定义F(N)为所有符合0<a<b<c<N的必败Nim组合(a,b,c)中a+b+c的和。
例如,F(8) = 42,因为有四种必败组合符合条件,即(1,3,5)、(1,4,6)、(2,3,6)
以及(2,4,5)。同时亦可验证F(128) = 496062。
请求出F(10^18)的末九位数。
注:Nim游戏是一种两个人玩的回合制数学战略游戏。游戏者轮流从一堆棋子
(或者任何道具)中取走一个或者多个,最后不能再取的就是输家。当指
定相应数量时,一堆这样的棋子称作一个Nim堆。(by wiki)
http://zh.wikipedia.org/zh-tw/%E5%B0%BC%E5%A7%86%E6%B8%B8%E6%88%8F