美文网首页
js求两正整数的约分结果

js求两正整数的约分结果

作者: 活泼lee | 来源:发表于2020-07-07 10:52 被阅读0次

    思路就是先求得两正整数(m,n)的最大公因数x,
    约分结果即为m/x ,n/x
    公因数的求得思路为找到两数中较小一位,向下循环遍历得到一位最大正整数,使m和n同时对它取余结果为0
    下面看下代码

    //m,n为正整数的分子和分母
    function reductionTo(m, n) {
        var arr = [];
        if (!isInteger(m) || !isInteger(n)) {
            console.log('m和n必须为整数');
            return;
        } else if (m<=0||n <= 0) {
            console.log('m和n必须大于0');
            return;
        }
        var a = m;
        var b = n;
        (a >= b) ? (a = m, b = n) : (a = n, b = m);
        if (m != 1 && n != 1) {
            for (var i = b; i >= 2; i--) {
                if (m % i == 0 && n % i == 0) {
                    m = m / i;
                    n = n / i;
                }
            }
        }
        arr[0] = m;
        arr[1] = n;
        return arr;
    }
    

    相关文章

      网友评论

          本文标题:js求两正整数的约分结果

          本文链接:https://www.haomeiwen.com/subject/abcaqktx.html