Rubyでコードを書いてみた〜序の6〜
今回のプログラミングのお題は、最大公約数と最小公倍数。
以前に、確か、基本情報処理技術者試験のアルゴリズムの問題で、求める問題を解いたと思うんだけど、そのアルゴリズムは見事に忘れてしまいました\(^o^)/
その時は、Rubyじゃなくて擬似言語を手書きでゴリゴリ書いていたかなぁ。
とりあえず、お題はコチラ。
GCD and LCM
・20億以下の正の整数2つが与えられ、その最大公約数と最小公倍数をもとめよ。
ロジックを思案。
思いついたのは、
・まず、両方の数字の共通な素因数で分解。
・最大公約数は素因数の掛け合わせ。
・最小公倍数は、素因数の掛け合わせ×2数の分解残。
たぶん、これでいけそうな気がする。早速、Rubyでコードを書いてみました。
そうそう、分解する素数を求めるコードは、メソッドを定義する技を使ってみました。
なんとか、コード化できました!
以前に、確か、基本情報処理技術者試験のアルゴリズムの問題で、求める問題を解いたと思うんだけど、そのアルゴリズムは見事に忘れてしまいました\(^o^)/
その時は、Rubyじゃなくて擬似言語を手書きでゴリゴリ書いていたかなぁ。
とりあえず、お題はコチラ。
GCD and LCM
・20億以下の正の整数2つが与えられ、その最大公約数と最小公倍数をもとめよ。
ロジックを思案。
思いついたのは、
・まず、両方の数字の共通な素因数で分解。
・最大公約数は素因数の掛け合わせ。
・最小公倍数は、素因数の掛け合わせ×2数の分解残。
たぶん、これでいけそうな気がする。早速、Rubyでコードを書いてみました。
そうそう、分解する素数を求めるコードは、メソッドを定義する技を使ってみました。
なんとか、コード化できました!