素数确定Javascript

时间:2013-04-05 15:23:03

标签: javascript primes

我正在创建一个外部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");
}

1 个答案:

答案 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");
}