先感谢前帖的两位dalao为我解答了18行的错误
有没有人来教一下我其他错误,例如23行,谢谢dalao
#include<bits/stdc++.h>
using namespace std;
#define maxn 1000010
int n,N,x,pri[10000];
typedef long long LL;
bool a[maxn];
int Eratosthenes_sieve(int n,int pri[]){
for (int i=2;i*i<=n;i++)
if(a[i]==0)
for(int j= i<<1;j<=n;j+=i)
a[j] =1;
int cnt=0;
for(int i = 2;i<=n;i++)
if(!a[i])pri[cnt++] = i;
return cnt;
}
int main(){
int cnt = Eratosthenes_sieve(50000,pri);
LL L,R;
scanf("%lld %lld",&L,&R);
memset(a,0,sizeof(a));
for(int i = 0;i<cnt;i++)
for(LL j = max(211,(L-1)/pri[i]+1)*pri[i];j<=R;j +=pri[i])
a[j-L] = 1;
int ans=0;
for(LL i = L;i<=R;i++)
if(a[i-L] == 0)ans++;
printf("%d",ans);
return 0;
}