除了楼上提到的应该在第一个 for 后面,每个数重置一下 amount = 0之外,内层的for循环
for (j<=1;j<=i;j++)
应该也是有问题的。j<=1,首先j没有声明,会报错Uncaught ReferenceError: j is not defined(…),其次就算声明了var j;,也会返回一个false,因为<=是判断而不是赋值。
经过修改后的代码应该是:
var sum = 0;
for (var i = 1; i <= 100; i++) {
var count = 0;
for (var j = 1; j <= i; j++) {
if (!(i % j)) {
count++;
}
}
if (count == 2) {
sum += i;
}
}
alert(sum);
除了楼上提到的
应该在第一个 for 后面,每个数重置一下 amount = 0之外,内层的for循环应该也是有问题的。
j<=1,首先j没有声明,会报错Uncaught ReferenceError: j is not defined(…),其次就算声明了var j;,也会返回一个false,因为<=是判断而不是赋值。经过修改后的代码应该是:
你的
amount变量放在最外层了,一直在增加,应该在第一个for后面,每个数重置一下amount = 0