我正在尝试编写一个函数来查看正整数N的所有可能除数,并返回这些除数的总和,但不返回数字本身。
该函数应该返回的例子:
sumofProperDivisors(6) - > 6 sumofProperDivisors(12) - > 1 + 2 + 3 + 4 + 6 = 16
function sumofProperDivisors(n){
var i = n;
var b = 0;
for (; i > 0;);
if (n % i >= 2) {
b = b + i;
i--;
}
else i--;
return (b);
}
答案 0 :(得分:0)
由于第4行for循环结束处的分号;
,您有一个无限循环。删除它并执行。它仍然不会给你预期的结果,因为逻辑也需要一些调整。
function sumofProperDivisors(n) {
var i = n;
var b = 0;
for (; i > 0; i--) {
if (n % i === 0 && n !== i) {
b = b + i;
}
}
return (b);
}
console.log(sumofProperDivisors(6));