首页 > 解决方案 > 如何找到前一个素数?

问题描述

可能问题很清楚,不需要更多解释,但这是以前的素数示例:

The previous prime of 19 is ===> 17
The previous prime of 211 is===> 199

我失败的审判

const getPreviousPrime = (number) => {
    for(let i = number - 1; i >= 2; i--) {
       for(let j = 2; j <= Math.sqrt(i); j++ ) {
          if(i % j === 0) break
          return i
      }

    }
}

标签: javascript

解决方案


首先假设你有一个isPrime()函数。

然后您可以轻松编写循环。

const getPreviousPrime = (number) => {
  for (let i = number - 1; i >= 2; i--) {
    if (isPrime(i)) {
      return i;
    }
  }
}

您可以在 JavaScript 中找到许多isPrime()at Number prime test 的实现


推荐阅读