描述
完全数,又称完美数或完备数,是一些特殊的自然数。它所有的真因子(即除了自身以外的约数)之和恰好等于它本身。
现在,你需要计算 1 到 n 之间完全数的个数。
输入描述:
输入一个整数 n(1≦n≦5×10的5次)
输出描述:
输出一个整数,代表区间内完全数的个数。
const rl = require("readline").createInterface({ input: process.stdin });
var iter = rl[Symbol.asyncIterator]();
const readline = async () => (await iter.next()).value;
void (async function () {
// Write your code here
while ((line = parseInt(await readline()))) {
if (line < 6) return console.log(0);
let sum = 0;
for (let i = 6; i <= line; i++) {
const temp = [];
for (let j = 2; j <= Math.sqrt(i); j++) {
if (i % j == 0) temp.push(j, i / j);
}
if (eval(temp.join("+")) == i - 1) sum++;
}
console.log(sum);
}
})();