Nie*_*sol 24
简化分数时,将分子和分母除以它们的最大公约数.
所以你需要的只是计算两个数字的GCD.没有内置函数,但实现欧几里德算法很容易:
function gcd($a,$b) {
$a = abs($a); $b = abs($b);
if( $a < $b) list($b,$a) = Array($a,$b);
if( $b == 0) return $a;
$r = $a % $b;
while($r > 0) {
$a = $b;
$b = $r;
$r = $a % $b;
}
return $b;
}
Run Code Online (Sandbox Code Playgroud)
然后将顶部和底部分开.
function simplify($num,$den) {
$g = gcd($num,$den);
return Array($num/$g,$den/$g);
}
var_export(simplify(40,100)); // Array(2,5)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
3922 次 |
最近记录: |