题解 | #查找组成一个偶数最接近的两个素数#

查找组成一个偶数最接近的两个素数

https://www.nowcoder.com/practice/f8538f9ae3f1484fb137789dec6eedb9

const rl = require("readline").createInterface({ input: process.stdin });
var iter = rl[Symbol.asyncIterator]();
const readline = async () => (await iter.next()).value;

void (async function () {
  // Write your code here
  while ((line = await readline())) {
    let minDelta = +line;
    let prime1, prime2;
    for (let i = 2; i <= line / 2; i++) {
      const j = line - i;
      if (isPrime(i) && isPrime(j)) {
        if (Math.abs(i - j) < minDelta) {
          prime1 = i;
          prime2 = j;
        }
      }
    }
    console.log(prime1);
    console.log(prime2);
  }
})();
// 是否为素数(质数)
const isPrime = (() => {
  const temp = [];
  return (n) => {
    if (temp.includes(n)) return true;
    for (let i = 2; i < n / 2; i++) {
      if (n % i === 0) return false;
    }
    temp.push(n);
    return true;
  };
})();

全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务