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

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

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;
		}
	}
})();

全部评论

相关推荐

06-12 16:00
天津大学 Java
牛客30236098...:腾讯坏事做尽,终面挂是最破防的 上次被挂了后我连简历都不刷了
点赞 评论 收藏
分享
MinJerous:虽然我一直说 计算机不怎么卡学历 但是至少得一本
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务