var b=1//这里不懂,下面关于b是做什么的都不明白
if(a==0||a==1){
document.write("0或1不是素数")
}else{
for(var i=2i<ai++){
if(a%i==0){//没有余数,能整除
b=0 //这就是一个标记,记录a有被某个数整除了
break
}
}
if(b){
document.write(a+"是素数")
}else{
document.write(a+"不是素数")
}
}
for(let i=1i<=100i++){if(check(i)) {
console.log(i)
}
}
// 判断当前给定的数 num 是否为素数, 是素数返回 true, 否则返回 false
function check(num){
if(num === 1) {
// 1 不是素数也不是合数, 返回 false
return false
} else {
// 声明变量用于统计从1~根号下 num,之间 能被 num 整除的数的个数
let count = 0
for(let i=1i<=Math.sqrt(num)i++) {
if(num%i === 0) {
count++
// 当发现在1~根号下 num 之间有超过1个数可以被 num 整除, 说明 num 一定不是素数,直接返回false, 后面的数不用判断了
if(count >1) {
return false
}
}
}
// 因为素数只能被1和自身整除,
// 那么从1~根号下 num 之间一定只有一个数(1)可以被 num 整除, 所以当 count 等于1时, 这个num 就是素数
return count == 1
}
return false
}