【发布时间】:2019-10-21 07:05:41
【问题描述】:
“我认为问题出在 for 循环中。因为我在两个函数的循环中都使用了相同的“j”进行迭代。” 我想打印 1-100 的所有素数。 我认为所有代码都很好。但它一直显示除素数以外的输出。
我自己找不到答案。没有其他地方有书面答案。请帮帮我。我想了解这个问题。
var n = 100;
var prime1 = new Array();
//producing prime number upto 97
function primeNumber() {
for (j = 1; j <= n; j++) {
if (countRemainder(j) == 2) {
prime1.push(j);
}
}
}
primeNumber();
console.log(prime1);
function countRemainder(n) {
var count = 0;
for (j = 1; j <= n; j++) {
if (n % j == 0) {
count++;
}
}
return count;
}
【问题讨论】:
-
您的
j的范围与您想象的不同。我建议始终在 Strict Mode 中运行您的代码 -
@TiiJ7 我不知道严格模式是什么。感谢您向我推荐这个宝贵的资源。
-
我记得一位老师告诉她的学生:要写一本书,你需要写很多页。要写一页,你需要写很多段落。要写一个段落,你需要知道如何写一个句子。要写一个句子,你需要知道语法。要知道语法,你需要学习。有时学生愿意在不学习语法的情况下写书。原则上这很好,但在大多数情况下效果不佳。
-
@SC1000 太周到了。我吸取了教训。
标签: javascript function loops