Perfect numbers: Difference between revisions

Content added Content deleted
Line 986: Line 986:
return chain(
return chain(
rng(nFrom, nTo),
rng(nFrom, nTo),

function (x) {
function mPerfect(n) {
return (
return (chain(
function perfect(n) {
rng(1, Math.floor(Math.sqrt(n))),
return chain(
function (y) {
return (n % y) === 0 && n > 1 ? [y, n / y] : [];
rng(1, Math.floor(Math.sqrt(n))),
function (y) {
return (n % y) === 0 && n > 1 ? [y, n / y] : [];
}
).reduce(function (a, x) {
return a + x;
}, 0) / 2 === n;
}
}
)(x) ? [x] : [];
).reduce(function (a, x) {
return a + x;
}, 0) / 2 === n) ? [n] : [];
}
}
);
);