wvogel日記

自分用の技術備忘録が多めです.

因数分解2

600851475143の最大約数の問題。

やっぱりオーバーフローしました。

そして、この問題、良く見るとヒントらしきものが書いてある。
→13195の素因数は、5,7,13,29である。とな。

これを使うんだろうか、と思ったけど、有効な使用法が思いつかない。書いてある4つの数字で割ったりもしてみたが、それも600851475143の約数ではない。
多桁計算わからん。
C言語アルゴリズムの本を読むと、例えば、4桁ずつ区切って変数に格納するという手法が紹介されている。この方法では、多桁の和差は簡単に行うことが出来るが、今回は割り算だからなー。
おっと、続きに、乗除の方法も載っている!!
とてもストレートな方法ですがね笑

ただ、変数の概念がないHaskellでこれをいかに実装するか。
別の方法も含め、ちょっと考えます。