javascript中用函数实现判断num是不是素数,多种方法,用console.log
时间: 2024-11-13 19:20:31 浏览: 4
Python编程判断一个正整数是否为素数的方法
5星 · 资源好评率100%
在JavaScript中,我们可以使用函数来判断一个数字num是否为素数(也叫质数),有几种常见的方法:
**方法一:朴素遍历法**
```javascript
function isPrimeNaive(num) {
if (num <= 1) return false; // 0和1不是质数
for (let i = 2; i < num; i++) {
if (num % i === 0) return false;
}
return num > 1; // 如果遍历完都没找到因子,则为质数
}
// 测试
console.log(isPrimeNaive(7)); // 输出:true
```
**方法二:只遍历到 sqrt(num)**
```javascript
function isPrimeSqrt(num) {
if (num <= 1) return false;
for (let i = 2; i * i <= num; i++) {
if (num % i === 0) return false;
}
return true;
}
// 测试
console.log(isPrimeSqrt(13)); // 输出:true
```
**方法三:埃拉托斯特尼筛法(适用于大量素数查找)**
```javascript
function sieveOfEratosthenes(n) {
const primes = [];
for (let i = 2; i <= n; i++) {
primes[i] = true;
}
for (let p = 2; p * p <= n; p++) {
if (primes[p]) {
for (let i = p * p; i <= n; i += p) {
primes[i] = false;
}
}
}
return primes[n] ? 'prime' : 'not prime';
}
// 测试
console.log(sieveOfEratosthenes(17)); // 输出:'prime'
```
阅读全文