判断一个数是否为质数
质数是指在大于1的自然数中,除了1和它自身外没有其他因数的自然数。
一、标记法
flag初始值为true,当n%i === 0时(1<i<n),说明n不是质数,此时flag值为false且循环终止;当n%i != 0 时,flag的值始终为true,此时会输出n是质数。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
function num(n){
for(var i=2;i<n;i++){
var flag=true
if(n%i===0){
flag=false
document.write(n+'不是质数')
break
}
}
if(flag){
document.write(n+'是质数')
}
}
num(prompt('请输入一个数字'))
</script>
</body>
</html>二、计数法
计算n%i === 0 的次数(1<=i<=n),当count值为2时说明n为质数,当count>2时说明n不是质数。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
function num(n){
var count=0
for(var i=1;i<=n;i++){
if(n%i===0){
count++
}
}
if(count===2){
document.write(n+'是质数')
}
else if(count>2){
document.write(n+'不是质数')
}
}
num(prompt('请输入一个数字'))
</script>
</body>
</html>本文内容仅供个人学习/研究/参考使用,不构成任何决策建议或专业指导。分享/转载时请标明原文来源,同时请勿将内容用于商业售卖、虚假宣传等非学习用途哦~感谢您的理解与支持!