我试图编写一个函数来确定某个值是否为素数,然后显示一条消息以提供结果。不幸的是,它不起作用 - 没有显示错误信息,我也看不出合乎逻辑的原因。 (对于info,它调用了一个函数number(),我已经独立测试了它并且它可以工作 - 它提供了一个正整数)。我在javascript方面不是很有经验,但是从在线学习开发了以下内容。任何指向正确方向的人都会非常感激。
function validate() {
var message = "This number is ";
var number;
var value = numbers();
var indicator = true;
for (int i=2; i <= value/2; i++) {
number = value % i;
if (number==0) {
indicator = false;
//or indicator = number % 2 != 0;
break;
}
}
if (indicator) {
message += "a prime number.";
}
else {
message += "not a prime number.";
}
document.getElementById('text').innerHTML = message;
}
答案 0 :(得分:0)
所以你能做的就是编写如下方法:
function isPrime(number) {
if (number === 2) return true;
if (number % 2 === 0) return false;
var flag = true;
var i, length = Math.ceil(Math.sqrt(number));
for (i = 3; i <= length; i += 2) {
if (number % i === 0) {
flag = false;
break;
}
}
return flag;
}
答案 1 :(得分:0)
在int
循环
var
替换为for
for (var i=2; i <= value/2; i++) {