600851475143となる、大きな数の素因数を求める問題。

2 ^ 64 > 600851475143 > 2 ^ 32なので64bit整数が扱えれば、それほど難しくは無い。

が、Project Eulerではこれより大きな数を扱うことが多く発生するので、非常に大きな整数を扱う術は何らかしら用意しておいたほうが良い。

昔は多倍長整数を自分で実装した。

当時もC++を使い、operatorも定義して頑張って実装した記憶がある。

そんな高度(かどうか知らないが)な数学知識があるわけでは無いので、和差はまだしも積商を求める場合はとんでもなく時間がかかった。

昔はよくわからず断念したBoostにチャレンジしてみたところ、案外簡単に導入できた。


参考にしたサイト