type
status
date
slug
summary
tags
category
icon
password
创建时间
Dec 3, 2024 01:21 AM
给你一个整数
n
。如果两个整数 x
和 y
满足下述条件,则认为二者形成一个质数对:
• 1 <= x <= y <= n
• x + y == n
• x
和 y
都是质数
请你以二维有序列表的形式返回符合题目要求的所有 [xi, yi]
,列表需要按 xi
的 非递减顺序 排序。如果不存在符合要求的质数对,则返回一个空数组。
注意:质数是大于 1
的自然数,并且只有两个因子,即它本身和 1
。质数筛
使用质数筛,分别得到质数后筛子。之后,我们从得到的质数中遍历,利用筛子判断另一半是否为质数。
线性筛
进一步优化
参考 灵茶山艾府
如果 n 是奇数,由于只有奇数+偶数=奇数,而偶数中只有 2 是质数,所以如果 n 是奇数时,至多只有一个质数对 (2,n−2)。