方法一:
<script type="text/javascript">
var count = 0;
var n = prompt("请输入一个正整数");
if(n<=0){
alert("请输入一个正整数");
}else{
for (var i = 2; i <= n; i++) {
if (n % i == 0) { //计算该数的因数有几个
count++; //除去了除1的情况,考虑到2比较特殊,未除去除以其数本身的情况
} //故count至少为1
}
if (count > 1 || count == 0) { //count为0是num为1时,1不是质数
alert(n+'不是质数');
}
else {
alert(n+'是质数');
}
}
</script>
方法二:
与方法一原理相似,只是在开始进行if判断时就除去了num=2的情况。
<script type="text/javascript">
var num,i;
num=parseInt(prompt("输入所需判断的整数:"));
if(num<2){
alert("不是质数");
}else if(num==2){
alert("质数");
}else{
for(i=2;i<num;i++){
if(num%i==0){
//alert("不是质数");
break;
}
// else{
// alert("质数"); 表达一
// break;
// }
}
if(i>=num){ //表达二
alert("质数");
}else{
alert("不是质数");
}
}
</script>
拓展——写出1到100的质数:
<script type="text/javascript">
//var count = 0;
for(var i = 1; i < 100; i++){
var count = 0;
for(var j = 1; j <= i; j++){
if(i % j == 0){
count++;
}
}
if(count == 2){
document.write(i + " ");
}
//count = 0;
}
</script>
注意:如果count不是在for循环中定义的,那么就需要在count是否等于2判断之后,再将count重置为0,如注释所示。