题解 | #查找组成一个偶数最接近的两个素数#
查找组成一个偶数最接近的两个素数
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;
function isPrime(num) {
if (num < 2) {
return false;
}
for (let i = 2; i <= Math.sqrt(num); i++) {
// Math.sqrt(num) 表示num的平方根,不需要遍历到num,因为num的因子一定不会超过num的平方根,例如 12 = 2 * 6 = 3 * 4,所以只需要遍历到4就可以了
if (num % i === 0) {
return false;
}
}
return true;
}
void (async function () {
const evenNum = parseInt(await readline())
for (let i = evenNum/2; i >= 2; i--) {// 从偶数的一半开始遍历,因为两个数相加等于偶数, 一定存在一个数小于等于偶数的一半
if (isPrime(i) && isPrime(evenNum - i)) {
console.log(i)
console.log(evenNum - i);
break;
}
}
})();
顺丰集团工作强度 369人发布