k242hd's memo

RubyとAndroidと時々TopCoder

Rubyで素因数分解って簡単じゃん

他の言語で素因数分解をやろうとしたら自分で処理を書かないといけないことが多い。

(...と思われる)

 

ところがどっこい、Rubyだったら超簡単。

primeライブラリの中にそのメソッドが入っているのである。

 

素因数分解したい数に対してprime_divisionメソッドを呼んでやるだけ。

結果は2次元配列で返ってきて、

[[2, 1], [11, 2]] → (2*1) * (11*2) = 242

といった感じである。

 

また、素数と乗数の配列から元の数を生成することもできる。

その場合は、Primeクラスのint_from_prime_divisionメソッドを使うだけ。

 

ね、簡単でしょ。