Project Euler 432

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

42着。
昨日の夜あきらめて、Pythonのナイーブなコードを書き、それをC++翻訳した。3コアに分けて流す。しかし×を食らう。最後のほうだけをPythonと比べると、確かに合っていない。しかし、どこをミスしているのかわからない。

今朝やっとミスを見つけた。それで同様に3コアで流して正解を出した。ごり押しでもなんでも49位以内に正解すればいいのだ。それが上位にランクインする秘訣。

ミスはlong longをintで受けていたことだった。しかし、よく考えると、そんなのコンパイラが警告出さないか?Visual Studioなら。これがふだんVisual Studioばかり使っている弊害か。コンパイラオプションの/W3を使えばよいらしい。

今日の帰りに考えていたら、たぶんまっとうな解法を思い出した。明日考えよう。