**Too Slow **
This code works, but it is very slow. Is there a way to improve it?
const numbersTriangles = [];
function sumOfFirstsNumbers(n){
let sum = 0; for(let i = 1; i < n; i++) sum += i
return sum;
}
function divisibleTriangleNumber(factorsNumbers, num = 100){
let factors = [];
const setValueForJValue = num - 100, n = num + 100;
const setValueForIValue = num <= 100 ? 2 : setValueForJValue + 2;
for(let i = setValueForIValue; i <= num + 1; i++){
let sum = sumOfFirstsNumbers(i);
numbersTriangles.push(sum);
}
for(let j = setValueForJValue; j < numbersTriangles.length; j++){
for(let k = 1; k <= numbersTriangles[j]; k++){
if(numbersTriangles[j] % k == 0) factors.push(k);
}
if(!(factors.length <= factorsNumbers)){
return numbersTriangles[j];
} factors = [];
}
return divisibleTriangleNumber(factorsNumbers, n);
}
the Challenge:
Problem 12