輾轉相除
//求最大公約數和最小公倍數輾轉相除法基於如下原理:兩個整數的最大公約數等於其中較小的數和兩數的相除餘數的最大公約數最小公倍數等於兩整數的乘積除最大公約數。
function gcd($n1, $n2){
if($n1 % $n2 == 0){
return $n2;
}
return gcd($n2, $n1 % $n2);
}
$n1 = 24;
$n2 = 30;
if($n1 < $n2){
$temp = $n1;
$n1 = $n2;
$n2 = $temp;
}
$v1 = gcd($n1 ,$n2);
$v2 = ($n1 * $n2) / $v1;
echo "<br />最大公因數 = " . $v1 . " 最小公倍數 = " . $v2 . "<br />";
function gcd($n1, $n2){
if($n1 % $n2 == 0){
return $n2;
}
return gcd($n2, $n1 % $n2);
}
$n1 = 24;
$n2 = 30;
if($n1 < $n2){
$temp = $n1;
$n1 = $n2;
$n2 = $temp;
}
$v1 = gcd($n1 ,$n2);
$v2 = ($n1 * $n2) / $v1;
echo "<br />最大公因數 = " . $v1 . " 最小公倍數 = " . $v2 . "<br />";
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.