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

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

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

全部评论

相关推荐

预计下个星期就能开奖吧,哪位老哥来给个准信
华孝子爱信等:对接人上周说的是这周
点赞 评论 收藏
分享
11-09 01:22
已编辑
东南大学 Java
高级特工穿山甲:羡慕,我秋招有家企业在茶馆组织线下面试,约我过去“喝茶详谈”😢结果我去了发现原来是人家喝茶我看着
点赞 评论 收藏
分享
10-28 11:04
已编辑
美团_后端实习生(实习员工)
一个2人:我说几个点吧,你的实习经历写的让人觉得毫无含金量,你没有挖掘你需求里的 亮点, 让人觉得你不仅打杂还摆烂。然后你的简历太长了🤣你这个实习经历看完,估计没几个人愿意接着看下去, sdk, 索引这种东西单拎出来说太顶真了兄弟,好好优化下简历吧
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务