已更正,我是擦边过的,没用前缀和。
代码如下:
```
#include<bits/stdc++.h>
using namespace std;
bool b[1001000];
int n,m;
int main(){
cin>>n>>m;
b[0]=b[1]=1;
for(int i=2;i*i<=m;i++){
if(!b[i]){for(int j=2;i*j<=m;j++){
b[i*j]=1;}}}
for(int i=1;i<=n;i++){
int l,r;
cin>>l>>r;
if(l>=1&&r<=m){
int cnt=0;
for(int j=l;j<=r;j++){
if(b[j]==0) cnt++;}
cout<<cnt<<endl;
}else{cout<<"Crossing the line"<<endl;}}}
```
by VIPassassin @ 2022-05-08 15:52:45