我正在研究机制,以获得所有数字达到一定限度的所有除数对..
结果将是类似于' 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上找到它并且它会对未来的访客有用。所以看看答案
答案 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;