#include <iostream>
#include <stdio.h>
#include <algorithm>
#include <map>
#include <math.h>
#include <cstring>
#include <string.h>
#include <queue>
using namespace std;
#define ll long long
ll vis[1000005];
ll sum[1000005];
int main()
{
int n,m;
ios::sync_with_stdio(false);
cin.tie(0);
cin>>n>>m;
for(int i=2;i<=m;i++)
{
if(!vis[i])
{
sum[i]=sum[i-1]+1;
vis[i]=1;
for(int j=i*2;j<=m;j+=i)
{
vis[j]=1;
}
}
else sum[i]=sum[i-1];
}
while(n--)
{
int a,b;
cin>>a>>b;
if(a<1||b>m)cout<<"Crossing the line\n";
else cout<<sum[b]-sum[a-1]<<'\n';
}
}
洛谷P1865 A % B Problem(很重要得筛法思想)
最新推荐文章于 2022-09-12 14:42:05 发布