小编joh*_*hau的帖子

如何找到一系列数字中最不常见的倍数?

给定两个数字的数组,让它们定义一系列数字的开始和结束.例如,[2,6]表示范围2,3,4,5,6.我想编写javascript代码来查找范围的最小公倍数.我的代码仅适用于小范围,而不是像[1,13](范围1,2,3,4,5,6,7,8,9,10,11,12,13),这会导致堆栈溢出.如何有效地找到范围的最小公倍数?

function leastCommonMultiple(arr) {
    var minn, max;
    if ( arr[0] > arr[1] ) {
        minn = arr[1];
        max = arr[0];
    } else {
        minn = arr[0];
        max = arr[1];
    }
    function repeatRecurse(min, max, scm) {
        if ( scm % min === 0 && min < max ) {
            return repeatRecurse(min+1, max, scm);
        } else if ( scm % min !== 0 && min < max ) {
            return repeatRecurse(minn, max, scm+max);
        }
        return scm;
    } 
    return …
Run Code Online (Sandbox Code Playgroud)

javascript math recursion function

19
推荐指数
4
解决办法
3万
查看次数

标签 统计

function ×1

javascript ×1

math ×1

recursion ×1