题意:
给定一个区间a,b,a-b>=100000,1<=a<=b<=231,求出给定a,b区间内的素数的个数
区间素数筛
(a+i-1)/ ii向上取整,当a为 i 的整数倍时,直接从a开始标记,当a不是 i 的整数倍时,得出 i 的整数倍且大于a,如果a小于等于 i 时,从2i开始标记
for(ll i=2;i*i<b;++i)
{
if(is_prime_small[i])
{
for(ll j=2*i;j*j<b;j+=i)
{
is_prime_small[j]=false;//筛选[2,sqrt(b));
}
for(ll j=max(2LL,(a+i-1)/i)*i;j<b;j+=i)
{
is_prime[j-a]=false;
}
}