我在Javascript中做了一个for循环来检查一个数字是否是素数。但是它';它不工作了
我在JavaScript中做了一个for循环来检查一个数字是否是素数。但它不起作用。谁能帮我做这个我在Javascript中做了一个for循环来检查一个数字是否是素数。但是它';它不工作了,javascript,for-loop,Javascript,For Loop,我在JavaScript中做了一个for循环来检查一个数字是否是素数。但它不起作用。谁能帮我做这个 Fill in a limit:<br> <input type="number" id="limit" placeholder="limit" /></br> <input type="submit" value="Go!" onclick="primenumbers()" /><br><br> <p id="answ
Fill in a limit:<br>
<input type="number" id="limit" placeholder="limit" /></br>
<input type="submit" value="Go!" onclick="primenumbers()" /><br><br>
<p id="answer">Here comes the answer</p>
<script>
var answer = document.getElementById('answer');
function primenumbers() {
var limit = document.getElementById('limit').value;
answer.innerHTML = ' ';
for(var i=0; i<=limit; i++) {
if(i == 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97, 101, 103, 107, 109, 113){
answer.innerHTML += i+' = '+'Primenumber'+'<br>';
} else {
answer.innerHTML += i+' = '+'Not a primenumber'+'<br>';
}
}
}
</script>
填写限额:
答案来了
var answer=document.getElementById('answer');
函数素数(){
var limit=document.getElementById('limit')。值;
answer.innerHTML='';
对于(var i=0;iif(i==2,3,5,…,113)
来说,如果(113)
,这是一个非常长的编写过程,它总是正确的。这就是工作原理
如果要测试某个值是否包含在一组值中,可以对该值集使用数组,然后使用以下命令在该值集中搜索该值:
如果您想在Internet Explorer版本8或更低版本中使用它,您需要在Javascript中实现
Array.prototype.indexOf
。有一个.供将来参考,这可能会帮助您检查素性:。它使用For循环!我不这么认为。右侧部分返回最后一个值113。@ele逗号运算符计算其左侧表达式例如:var x=(5,7,50);
将50赋值给x
,然后执行var y=(x++,x++,300)
将使x==52
和y==300
。你是对的。请补充他不应该“计算”素数是这样的。我把你的答案投了赞成票。@ele我同意,素数测试通常不是这样做的,但我怀疑这符合他的需要,因为他一定知道素数>113
,这是不正确的,我想深入了解如何测试素数的细节可能超出了他的问题范围。@ytownt9我试过一个例子很多,但我不懂如何使用indexOf。你能帮我一点忙吗?
if ([2, 3, 5, ..., 113].indexOf(i) >= 0)