任意输入两个整数,求最大公约数和最小公倍数


echo "请输入第一个整数:";
//定义一个变量为获取用户输入的第一个值
$j = (int)fgets(STDIN);
echo "请输入第二个整数:";

//再定义一个变量为获取用户输入的第二个值
$k = (int)fgets(STDIN);
//定义两个变量分别把用户输入的值赋予它们
$a = $j;
$b = $k;

//定义一个变量为两个整数相除后的余数,大除小
$c = ($a>$b)?$a%$b:$b%$a;
//使用循环语句实现辗转相除法获得最大公约数
while($c != 0){
   if($a < $b)
      $b = $a;
   $a = $b;
   $b = $c;
   $c = $a%$b;
}
echo "它们的最大公约数是:".$b."\n";

//由数学约分法可知最小公倍数=(两个整数相乘)/最大公约数
echo "它们的最小公倍数是:".($j*$k)/$b."\n";
?>

转载于:https://my.oschina.net/u/3216044/blog/860405

你可能感兴趣的:(任意输入两个整数,求最大公约数和最小公倍数)