JavaScript 用函数判断num是不是素数
时间: 2024-11-23 08:40:57 浏览: 19
JavaScript 中可以使用函数来判断一个数字 num 是否为素数,素数是指只有两个正因数(1 和本身)的自然数。以下是一个简单的函数示例:
```javascript
function isPrime(num) {
// 数字0和1不是素数
if (num < 2) {
return false;
}
// 遍历从2到num-1,如果num能被其中任何一个整数整除,则非素数
for (let i = 2; i <= Math.sqrt(num); i++) {
if (num % i === 0) {
return false;
}
}
// 如果遍历结束都没找到因子,说明num是素数
return true;
}
```
这个函数首先检查输入的数字是否小于2,如果是则返回false;然后它从2开始循环,直到数的平方根,因为一个大于平方根的因子必然有一个小于平方根的配对因子。如果找到能整除num的因子,就立即返回false,表示num不是素数。如果没有找到这样的因子,那么最后返回true,表示num是素数。
相关问题
javascript中用函数实现判断num是不是素数
在JavaScript中,我们可以使用一个函数来判断一个数字num是否是素数(质数)。一个素数是指只有1和它本身两个正因数的大于1的自然数。下面是一个简单的函数实现:
```javascript
function isPrime(num) {
// 数字小于2不是素数
if (num < 2) {
return false;
}
// 从2开始到num的平方根遍历,如果能整除则num不是素数
for (let i = 2; i <= Math.sqrt(num); i++) {
if (num % i === 0) {
return false;
}
}
// 如果没找到因子,那么num就是素数
return true;
}
```
这个函数首先检查输入的数字是否小于2,因为小于2的数不是素数。接着,它会循环遍历从2到该数字的平方根的所有数字,如果能被整除,则返回false;如果没有找到整除因子,则说明它是素数,返回true。
javascript中用函数实现判断num是不是素数,多种方法,用console.log
在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'
```
阅读全文