求帮忙
查看原帖
求帮忙
1143983
Lyy0518楼主2024/1/13 19:11
#include<bits/stdc++.h>
using namespace std;
const int N=(int)1e6+100;
int n,m,s[N];
bool b[N];
int main(){
	cin>>n>>m;
	for(int i=2;i<=m;i++)
		b[i]=true;
	for(int i=2;i<=m;i++){
		if(b[i])
			for(int j=i*i;j<=m;j+=i)
				b[j]=false;
		s[i]=s[i-1]+b[i];
	}
//	for(int i=1;i<=m;i++)
//		printf("%d ",s[i]);
	for(int i=1;i<=n;i++){
		int l,r;scanf("%d%d",&l,&r);
		if(l<1 || r>m) printf("Crossing the line\n");
		else printf("%d\n",s[r]-s[l-1]);
	}
}

提交记录

2024/1/13 19:11
加载中...