二次筛法找区间两点特别大(超过10亿)的素数-POJ2689

针对POJ2689问题,当区间两端点可能超过10亿时,传统的bitset方法不再适用。解决方案是采用二次筛法,首先筛选0到47000的素数,然后对目标区间再次使用筛法。该方法是应对超大数范围素数筛选的模板,参考了csdn上相关博主的实现细节。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

https://vj.xtuacm.cf/contest/view.action?cid=59#problem/C
如果区间两点小于3亿可以用bitset
这题区间两点可能大于20亿,只能用两次筛法,先找出0到47000之间的素数,再对目标区间用筛法。
两次筛法是模板
参考:
http://blog.youkuaiyun.com/userluoxuan/article/details/38404185
http://blog.youkuaiyun.com/neoxuhaotian/article/details/6172448

#include <iostream>
#include <cstdio>
#include <cmath>
#include <cstring>
#define ll long long
using namespace s
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值