我正在创建一个外部javascript文件。这是作业。我应该做的是确定用户输入的号码是否是素数,并且如果它是素数则显示消息。我有我的代码编写,编译和一切。但我似乎无法弄清楚,无论我输入什么号码,显示消息总是说该号码是素数。有人可以帮忙吗?这是我的代码:
var UI;
var TV;
var HITS;
UI = window.prompt("Enter a whole number to test as a prime number: \n", "0");
TV = parseInt(UI, 10);
var DD = TV; //still produces same error
HITS = 0;
while (DD > 0)
{
if (TV % DD === 0)
{
HITS++;
}
else
{
DD--;
}
}
if (HITS > 2)
{
document.write(UI + " is a NOT prime number");
}
else
{
document.write(UI + " is a prime number");
}
答案 0 :(得分:3)
我认为您应该在var DD = TV;
之后设置TV = parseInt(UI, 10)
。
如果你不希望它是无限的,你应该在while循环中减少DD。
以下是更正的代码
var UI = window.prompt("Enter a whole number to test as a prime number: \n", "0");
var TV = parseInt(UI, 10);
var HITS = 0;
var DD = TV;
while (DD > 0) {
if (TV % DD === 0) {
HITS++;
}
DD--;
}
if (HITS > 2) {
document.write(UI + " is a NOT prime number");
} else {
document.write(UI + " is a prime number");
}