20 lines
358 B
JavaScript
20 lines
358 B
JavaScript
(function (nFrom, nTo) {
|
|
|
|
function perfect(n) {
|
|
return n === range(1, n - 1).reduce(
|
|
function (a, x) {
|
|
return n % x ? a : a + x;
|
|
}, 0
|
|
);
|
|
}
|
|
|
|
function range(m, n) {
|
|
return Array.apply(null, Array(n - m + 1)).map(function (x, i) {
|
|
return m + i;
|
|
});
|
|
}
|
|
|
|
return range(nFrom, nTo).filter(perfect);
|
|
|
|
})(1, 10000);
|