Project Euler 306(2)

http://projecteuler.net/index.php?section=problems&id=306


結局、N=106としてGrundy数をNまで求めればいいんだけど、O(N2)なのでなんともならなくて、昨日の段階では20時間以上かかると見込んでいた。でも、職場のPCなら8時間もあれば終わるんじゃないかと思って、就業時間前にちゃっと組んでちょっと流したら2時間あまりという見込みになったので、裏で流していたら本当にそのとおりだった。
お昼に解答をアップしてフォーラムを覗いたら驚くべき解答があったがそれはおいといて、ちょっとだけ違うコードもあった。それも考えてはいたが、少し難点があるのとあまり速くならないと思ったので試していなかった。書いて動かしてみたら4分あまりだった。