PHP实现 两个正整数,求最大公约数,最小公倍数

简单的实现一下,直接上代码:

<?php
/**
 * 定义两个正整数,求最大公约数,最小公倍数
 * 提示:
 * 		最大公约数,从大到小循环
 *   	最小公倍数,从比较大的值,按倍数增长去找
 */
$m = 15;
$n = 20;

for ($i = $m; $i >= 1; $i--) { 
	if($m % $i == 0 && $n % $i == 0) {
		var_dump("最大公约数为" . $i);
		break;
	}
}
$j = 1;
while (1) {
	$max = $m - $n  > 0 ? $m : $n; 
	$s = $j * $max;
	if($s % $m == 0 && $s % $n == 0) {
		var_dump("最小公倍数为" . $s);
		break;
	}
	$j ++;
}
最后输出:
string(19) "最大公约数为5"
string(20) "最小公倍数为60"

版权声明:本文为sinat_17520485原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。