js编写一个数是否为质数
时间: 2023-05-11 12:04:10 浏览: 83
以下是判断一个数是否为质数的 JavaScript 代码:
function isPrime(num) {
if (num <= 1) {
return false;
}
for (let i = 2; i <= Math.sqrt(num); i++) {
if (num % i === 0) {
return false;
}
}
return true;
}
调用 isPrime 函数并传入一个数字作为参数,如果返回值为 true,则该数字为质数,否则不是质数。
相关问题
js编写一个数是否为质数有几种方法
有多种方法可以判断一个数是否为质数,以下是其中的几种方法:
1.试除法:从2开始,依次将该数除以2、3、4、5……直到该数的平方根,如果都不能整除,则该数为质数。
2.埃氏筛法:先将2~n的所有数标记为质数,然后从2开始,将其所有的倍数标记为合数,依次类推,直到n的平方根。
3.欧拉筛法:先将2~n的所有数标记为质数,然后从2开始,将其所有的倍数标记为合数,但是每个数只会被它的最小质因子筛掉,依次类推,直到n的平方根。
4.费马小定理:如果p是质数,a是不是p的倍数的整数,则a^(p-1) ≡ 1 (mod p)。如果a^(p-1) % p != 1,则a不是质数。
5.米勒-拉宾素性检验:随机选择一个整数a,判断a^(n-1) % n是否等于1,如果不等于1,则n不是质数。重复k次,如果每次都是1,则n很可能是质数。
注意:以上方法仅供参考,实际应用中还需要考虑算法的效率和精度等问题。
JS 编写一个函数求一个数字是否是质数
可以使用以下代码来判断一个数字是否为质数:
```
function isPrime(n) {
if (n <= 1) {
return false;
}
for (let i = 2; i <= Math.sqrt(n); i++) {
if (n % i === 0) {
return false;
}
}
return true;
}
```
这个函数接收一个数字作为参数,如果这个数字小于等于1,则直接返回false,因为小于等于1的数字不是质数。
接下来,我们从2开始循环到这个数字的平方根,如果存在一个能整除这个数字的因子,则说明这个数字不是质数,直接返回false。如果循环结束后都没有找到能整除这个数字的因子,则说明这个数字是质数,返回true。
使用示例:
```
console.log(isPrime(5)); // true
console.log(isPrime(8)); // false
```
这个示例中,isPrime(5)返回true,因为5是质数;isPrime(8)返回false,因为8不是质数。
阅读全文