在给定的区间 [m,n] 内,是否存在素数 p、q、r(p 输入给出区间的两个端点 0 在一行中输出满足条件的素数三元组的个数。 样例解读 满足条件的 10 组解为: 好题!模拟赛的时候没注意到关键剪枝,但是也过了。详细说一下思路 首先1000以内最大的两个素数是991和997,差不多是10^6的量级,因此,需要对素数提前打表。 为了提高查询速度,再额外附加一个数组作为快表使用。笔者使用了质数筛+平方根判别。 再之后就是遍历了,此处有一个关键性的剪枝:如果是三个奇数参与题中所给的三元 *** 作,其结果为偶数,必不为素数。由于2是唯一的素数,因此,先判别范围是否包含2,在存在2的前提下,进行二重循环就可以了。 欢迎分享,转载请注明来源:内存溢出
输入格式:
输出样例:
1 35
10
2, 3, 5
2, 3, 7
2, 3, 13
2, 3, 17
2, 5, 7
2, 5, 13
2, 5, 19
2, 5, 31
2, 7, 23
2, 13, 17
#include
赞
(0)
打赏
微信扫一扫
支付宝扫一扫
c++ const总结
上一篇
2022-04-25
项目实训(6)qt与pcl1
下一篇
2022-04-25
评论列表(0条)