#7,8,10,11 RE 样例不过还对7个点
#include<bits/stdc++.h>
using namespace std;
const int M=50000;
long long l,r,p,sum,b[50005];
bool a[9999999];
void Gprime(){
for(int i=2;i*i<=M;i++)
if(!a[i]) for(int j=i*i;j<=M;j+=i) a[j]=true;
for(int i=2;i<=M;i++)
if(!a[i]) b[++p]=i;
}
int main(){
cin>>l>>r;
Gprime();
memset(a,0,sizeof(a));
for(int i=1;i<=p;i++){
int L;
if(b[i]>=l) L=b[i]*2;
else L=(l/b[i]+1)*b[i];
for(int j=L;j<=r;j+=b[i]) a[j-l+1]=true;
}
for(int i=1;i<=r-l+1;i++){
if(!a[i]) sum++;
}
if(l==2){
cout<<sum;
return 0;
}
cout<<sum-1;
return 0;
}
代码写的和一坨是的,愿谅解