以下为ChatGPT自动生成的解答,正确与否请自行判断。

BFE.devAI解答 - JavaScript 代码题
120. 实现`isPrime()`

function isPrime(num) {
  if (num < 2) {
    return false;
  }
  
  for (let i = 2; i <= Math.sqrt(num); i++) {
    if (num % i === 0) {
      return false;
    }
  }
  
  return true;
}

代码时间代价为$O(\sqrt{n})$。其中$n$为传入的自然数。可以通过优化循环来降低时间代价,例如从2开始循环到传入自然数的一半即可,因为自然数的一半也就是其最大的约数。这样时间代价为$O(\frac{n}{2})=O(n)$。但是对于非常大的质数,这样的优化可能依然会花费很长的时间。因此,在实际应用中,可能需要更高效的算法来判断是否为质数。