题解 | #查找组成一个偶数最接近的两个素数#
查找组成一个偶数最接近的两个素数
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; } } })();