アプリ版:「スタンプのみでお礼する」機能のリリースについて

PHPで最小公倍数を求めるプログラムを作りたいのですが、
アルゴリズムをお教えください。

尚、PHPを実行するレンタルサーバーの関係で
gmp関数群は使えません。

A 回答 (2件)

面倒なのでソースコードを書きました。


エラー処理はしていません。

---------------------
<?php
//最大公倍数を求める(ユークリッドの互除法)
function gcd($m, $n) {
while ($m % $n != 0) {
$temp = n;
$n = $m % $n;
$m = $temp;
}
return $n;
}

//最小公倍数を求める
function lcm($m, $n) {
return $m * $n / gcd($m, $n);
}

//サンプル
$m = 27;
$n = 18;
$l = lcm($m, $n);
echo "$m と $n の最小公倍数は $l です.";
?>
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

お礼日時:2010/03/15 15:41

2数をかけてから最大公約数で割ると、最小公倍数になります。



PHPではありませんが、
http://www12.plala.or.jp/dokugaku/algo/lcm.html
なんかが参考になるでしょう。

最大公約数を求めるアルゴリズム、ユークリッドの互除法について
詳しく知りたい場合は、
http://ja.wikipedia.org/wiki/%E3%83%A6%E3%83%BC% …
をどうぞ。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

お礼日時:2010/03/15 15:42

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!