if和for并用
质数是一个大于1的,除了1和本身外,不能被其他自然数整除的数,所以我们只需要获取到2到num之间的数,再进行求余数,若余数为0,则一定不是质数,相反,我们只用默认输入的数就是质数,然后用if设置不是质数的情况,将flag设置为false,便可得出结果,详见代码,若有不足请各位提出,谢谢
<script>
var num=prompt("请输入一个大于1的整数");
//判断这个值是否合法
if(num <= 1){
alert("该值不合法")
}else{
//创建一个变量来保存当前数的状态
//默认当前num是质数
var flag=true;
//判断num是否是质数
//获取2到num之间的数
for(var i=2;i<num;i++){
//判断num是否能被i整除
if(num%i==0){
//如果num能被i整除,则证明num一定不是质数
//设置flag为false
flag=false;
}
}
//如果num是质数则输出
if(flag){
alert(num+"是质数");
}else{
alert(num+"不是质数");
}
}
</script>