题目:
用户输入一个数,我们来判断其是否为质数。
质数:只能被1和它本身整除的数,1既不是质数也不是合数。质数需是大于1的自然数(自然数: 0,1,2,3…)
方法一:
代码:
<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta http-equiv="X-UA-Compatible" content="ie=edge" />
<title>Document</title>
<script type="text/javascript">
var num = +prompt("请输入一个数:");
for(var i = 2;i <= num;i++){
if(num == i && num != 1)
{
document.write(num + "是质数");
break;
}
else if(num == 1 || num % i == 0 )
{
document.write(num + "不是质数");
break;
}
}
if(num == 1)
document.write(num + "不是质数");
</script>
</head>
<body>
</body>
</html>
运行结果:
方法二:
利用好布尔函数,因为fo循环里面是不止判断一个的,因此,只要有一个能为0,则要改为false。最后都不为0,才继续保持true。
代码如下:
<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta http-equiv="X-UA-Compatible" content="ie=edge" />
<title>Document</title>
<script type="text/javascript">
var num = prompt("请输入数字:");
var flag = true;
if(num < 1){
document.write("输入数字有误;");
}else if(num==1){
document.write("1不是质数");
}else{
for(var i = 2;i < num; i++){
if(num % i == 0 )
{
flag = false;
break;
}
}
if(flag){
document.write(num + "是质数");
}else{
document.write(num+"不是质数。");
}
}
</script>
</head>
<body>
</body>
</html>
运行结果如上面运行结果。。