应该不会爆下标吧???
#include<bits/stdc++.h>
using namespace std;
bool v[114514];int spr=0,pri[114514];
const int SL=46341;
inline void solve()
{
v[1]=1;
for(int i=2;i<=SL;i++)
{
if(!v[i])
{
pri[++spr]=i;
for(int j=2;j<=SL/i;j++)
{
v[j*i]=1;
}
}
}
}
int main(){
solve();bool flag=true;
int l,r,sum=0;cin>>l>>r;
for(int i=l;i<=r;i++)
{
if(i<=SL&&!v[i]) sum++;
else if(i==1) continue;
else if(i>SL)
{
for(int j=1;j<=spr;j++)
{
if(i%pri[j]==0)
{
flag=false;break;
}
}
if(flag) sum++;
flag=true;
}
}
cout<<sum;
}