题目:
请判断101-200之间有多少个素数,且输出所有的素数。
概念解析:
质数(prime number)又称素数,质数定义为在大于1的自然数中,除了1和它本身以外不再有其他因数。
javaScript:
// 测试函数
(这个测试函数的缺点是,不能确保题目给的范围内,是否有漏掉素数)
function testResult(arr){
let flag = true
if(Array.isArray(arr) && arr.length > 0){
for(let i = 0; i< arr.length; i++){
let cur = arr[i]
if(!Number.isInteger(cur) || cur < 2){
flag = false
break
}
for(let j=2; j< cur; j++){
if(cur % j == 0){
flag =false
break
}
}
if(!flag){
break
}
}
} else {
flag = false
}
return flag
}
// 判断素数函数
function judgePrimeFunc(startNum, endNum){
let result = []
if(startNum >= endNum){
return result
}
for(let i= startNum; i< endNum+1; i++){
let isPrime = true
for(let j=2; j< i; j++){
if(i%j == 0){
isPrime = false
break
}
}
if(isPrime){
result.push(i)
}
}
return result
}
// 执行和测试
let testArr = judgePrimeFunc(101, 200)
let test = testResult(testArr)
参考链接:
(百度百科, 素数)