function gcd($a, $b) { if ($b === 0) return $a; return gcd($b, $a % $b); } function lcm($a, $b) { return $a * $b / gcd($a, $b); } echo lcm(1071, 1029); // 52479 数が3個以上の場合は? 本題はこっち。 まず調べる数が不定なので、引数を配列に変更してみます。 次にアルゴリズム部分ですが、数が増えたとは言っても 変数a,b,cについて 『aとbとcの最大公約数』 = 『aとbの最大公約数』と『c』 の最大公約数 『aとbとcの最小公倍数』 = 『aとbの最小公倍数』と『c』 の最小公倍数 という関係になるので、やはり再帰にすれば問題はなさそうです。 というわけで クラスにしたりなんだりを経て、できあがったものがこちらです! (キュー〇ー