これは愚かな投稿かもしれませんが、私のコードが正しく動作しない理由を理解できません。レコードのために、私はすでに動作する別のコードを書いたが、私はまだこれがなぜないのか分からない。Classic JS Prime Number
第2のif
のステートメントは常にtrueと同じになりますか?コメントとして
https://jsfiddle.net/vhdh5x3d/2/
/* This code doesn't work... */
var testNumber = prompt("Please enter a number you'd like to test");
for (var i = 2; i < testNumber; i++) {
if (testNumber % i == 0) {
document.getElementById("test-results").innerHTML = "Your number, " + testNumber + ", is not a prime number.";
}
if ((testNumber - 1) == i && testNumber % i != 0) {
document.getElementById("test-results").innerHTML = "Congratulations! Your number, " + testNumber + ", is a prime number!";
}
}
数学 'X%X-1 'は常に非ゼロ' X> 2'です。テストすべき条件は何ですか? – JJJ
あなたはそれぞれのforループで結果をオーバーライドしていますか? –
ループの問題は簡単です。最初のif文は何度も真であると証明されるかもしれませんが、あなたは常に2番目のif文を打ちます。最終的に、条件は「i」が増えるにつれて満たされます。あなたは最初のifステートメントで休憩が必要です。素数を得るもっと良い方法があります。 – SpYk3HH