JavaScript中数字的素性测试

质数(或素数)是大于1的自然数,不能通过将两个较小的自然数相乘而形成。所有其他大于1的自然数称为复合数。素数测试是一种用于确定输入数字是否为素数的算法。

我们需要编写一个接受数字的JavaScript函数,并检查它是否为质数。

示例

以下是代码-

const findPrime = (num = 2) => {
   if (num % 1 !== 0) {
      return false;
   }
   if (num <= 1) {
      return false;
   }
   if (num <= 3) {
      return true;
   }
   if (num % 2 === 0) {
      return false;
   }
   const dividerLimit = Math.sqrt(num);
   for (let divider = 3; divider <= dividerLimit; divider += 2) {
      if (num % divider === 0) {
         return false;
      }
   }
   return true;
};
console.log(findPrime(2));
console.log(findPrime(97));
console.log(findPrime(131));
console.log(findPrime(343));

输出结果

以下是控制台上的输出-

true
true
true
false