Сообщение от voraa
|
Попробовал до 100 000.
Удивительно, что Хром считает это за 8,2 - 8,4 с
|
у меня вообще за 15 с.
слегка оптимизировал вариант
рони, стало работать за 90 мс - limit теперь sqrt(i)
function findHappiness(start, end) {
const arr = [];
for (let i = start; i <= end; i++) {
let sum = 1,
limit = Math.sqrt(i);
for (let j = 2; j <= limit; j++) {
if (i % j === 0) {
const k = i / j;
sum += j + (k === j ? 0 : k);
}
}
if (sum === i) {
arr.push(i)
}
}
return arr;
}