为达到一定限制的所有数字获取成对的除数
Getting pairs of divisors for all numbers up to certain limit
我正在研究一种机制,使所有数字的所有除数对达到一定限度..
结果将是类似于 '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 上找不到它它将对未来的访客有用。所以看答案
这是一个答案
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;
}
我正在研究一种机制,使所有数字的所有除数对达到一定限度..
结果将是类似于 '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 上找不到它它将对未来的访客有用。所以看答案
这是一个答案
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;
}