为所有数字获得一对除数达到一定限度

时间:2016-11-02 09:48:09

标签: javascript division

我正在研究机制,以获得所有数字达到一定限度的所有除数对..

结果将是类似于' times table'但是对于分裂,我也希望将分数排在1,因为这些非常明显......

对象结构为{result, x, y},例如[{result:4,x:2,y:2},{result:6,x:2,y:3},{result:6,x:3,y:2},...]

对于那些手指颤抖的人(并且尖叫显示我们的代码!!!) - 这是一个自我回答的问题因为我无法在SO上找到它并且它会对未来的访客有用。所以看看答案

1 个答案:

答案 0 :(得分:0)

这是一个答案



var getAllDivisors = function(limit) {
  var array = [];
  for (var num = 2; num <= limit; num++) {
    var square_root = Math.sqrt(num);
    for (var i = 2; i <= square_root; i++) {
      if (num % i == 0) {
        var div = (num / i);
        array.push({
          result: num,
          x: i,
          y: div
        });
        if (i * i != num)
          array.push({
            result: num,
            y: i,
            x: div
          });
      }
    }
  }
  return array;
}
&#13;
&#13;
&#13;