@[冯—xxk](/space/show?uid=90971)
帮你改了一下。
```cpp
#include<iostream>
#include<algorithm>
#include<cmath>
#include<cstdio>
#include<string>
#include<cstring>
using namespace std;
bool f[1000000+5];
int n,m,a[1000000+5],l,r;
int main()
{
/////////
memset(f,true,sizeof(f));
f[0]=0;f[1]=0;
for(int i=2;i<=1000;i++)
if(f[i]==1)
for(int j=i*2;j<=1000000;j+=i)
f[j]=0;
scanf("%d%d",&n,&m);
for(int i=2;i<=m;i++)
a[i]=a[i-1]+f[i];
/////////
for(int i=1;i<=n;i++)
{
scanf("%d%d",&l,&r);
if(l<1||r>m){printf("Crossing the line\n");continue;}
printf("%d\n",a[r]-a[l-1]);
}
return 0;
}
```
by Smile_Cindy @ 2019-04-27 18:47:07
Thanks @[Alpha](/space/show?uid=87058)
by 智子·起源 @ 2019-05-02 20:21:55