在 JavaScript 中找到一个数的最大质因数

我们需要编写一个 JavaScript 函数,它接受一个数字作为唯一的参数。

作为参数提供的数字保证是合数(具有两个以上因数的数字)。我们的函数应该找到能精确整除输入数的最大素数。

例如 -

如果参数是 72,那么输出应该是 3。

因为 3 是能整除 72 的最大素数

示例

以下是代码 -

const num = 72;

const largestPrimeFactor = (num) => {

   let res = Math.ceil(Math.sqrt(num));

   const isPrime = (num) => {

      let i, limit = Math.ceil(Math.sqrt(num));

      for (i = 3; i <= limit; i += 2) {

         if (num % i === 0) {

            return false;

         };

      };

      return true;

   };

   res = (res & 1) === 0 ? res - 1 : res;

   while (!(num % res === 0 && isPrime(res))) {

      res -= 2;

   };

   return res;

}

console.log(largestPrimeFactor(num));

输出结果

以下是控制台上的输出 -

3

以上是 在 JavaScript 中找到一个数的最大质因数 的全部内容, 来源链接: utcz.com/z/335656.html

回到顶部