最小公倍数

昨日は最大公約数をしました.今日は最小公倍数です.


なんか,一瞬です.http://www80.sakura.ne.jp/~aozora/suuron/node8.htmlを見ると,数をa,b,最小公倍数をl,最大公約数をdとすると,

a*b = l*d

の関係があるらしく,言ってみると,昨日求めた最大公約数さえわかれば,最小公倍数はこの式から求まるんですね.結局,

l = a * b / d

を計算してあげれば良いだけ.
だから,コードも簡単で,

class Integer
  def mincommult(other)
    comfact = self.maxcomfact other
    self * other / comfact
  end
end


> 12.mincommult 18
=> 36
> 123.mincommult 456
=> 18696

へぇ,ほんまかなぁ.
これを昨日のコードに付け加えれば,もう最小公倍数は求められる訳です.あぁ,なんか一瞬だったなぁ.


今度は,公約数を全て求めるメソッドを書きたいのですが,わかんないです.