我正在尝试制作一个打印最多为n的素数的程序。
这是我的代码,但它不起作用。
$(document).ready(function(){
$('#g').click(function(){
var n = $('#a').val();
for (a=2; a<n; a++) {
for (i=2; i<a; i++) {
if (a%i=0) {
break
}
} else {
var r = $('#r').html();
$('#r').html(r+'<br />'+i);
}
}
});
});
答案 0 :(得分:-2)
在您的代码中,检查模数有一些错误。 if (a%i=0)
如果条件需要==
来检查。单=
正在存储该值。在下一行break
之后,分号也会丢失。还有一个不需要的结束括号。我已删除else条件并设置变量ct=0
。并在数据变为1时打印数据,即设置状态。
请查看以下代码以获取更多参考。
$(document).ready(function(){
$('#g').click(function(){
var n = $('#a').val();
for(a=2;a<=n;a++){
ct=0;
for(j=2;j<a;j++){
if(a%j==0){ //checking whether num is dvisible by j
ct=1;
break;
}
}
if(ct==0){ //if num is divisible by 2 numbers,then it is prime
var r = $('#r').html();
$('#r').html(r+'<br />'+j);
}
}
});
});
&#13;
<html>
<body>
<input type="text" name="limit" id="a">
<button id="g">Go</button>
<div id="r"></div>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
</body>
</html>
&#13;