最小公倍数・最大公約数を求めるにはユークリッドの互除法に基づくアルゴリズムを利用します。
なぜこの式で計算できるのかについては数学に詳しい人に聞いて下さい。
//最大公約数 function gcd($m, $n){ if($n > $m) list($m, $n) = array($n, $m); while($n !== 0){ $tmp_n = $n; $n = $m % $n; $m = $tmp_n; } return $m; } //最小公倍数 function lcm($m, $n){ return $m * $n / gcd($m, $n); }
参考
Similar Posts:
- [PHP]文章中の単語に自動でリンクを貼る(キーワードリンク)
- [PHP]三次元空間での2点を結ぶ線分の中点
- [PHP]背景の明るさを基準に見やすい文字色を組み合わせる(YUV輝度)
- [PHP]RGBをHSV(HSB)に変換する
- [PHP]多階層ディレクトリ内のファイル一覧を取得する
- [PHP]文字の種類ごとに最低1つ以上使ったランダム文字列
- [PHP]Luhnアルゴリズムによる番号のチェック
- [PHP]ひらがな・カタカナ、大文字・小文字を区別しないソート(並べ替え)