求助,最后一个点WA
查看原帖
求助,最后一个点WA
323989
Vector_Mingfan楼主2021/7/30 18:44
#include <cstdio>
#define N 1000001
#define ll long long
using namespace std;
ll l,r,cnt,ans,p[N];
bool pr[N],a[1000001];
void is_prime() {
	for (ll i=2;i<=50000;i++) {
		if (pr[i]==1) continue;
		p[++p[0]]=i;
		for (ll j=2;i*j<=50000;j++) pr[i*j]=1;
	}
}
int main() {
	is_prime();
	scanf("%lld %lld",&l,&r);
	for (ll i=1;i<=p[0]&&r>=p[i];i++) {
		ll t=l/p[i];
		if (t*p[i]<l)t++;
		if (t==1) t++;
		while(p[i]*t<=r) {a[p[i]*t-l+1]=1; t++;}
	}
	for (ll i=1;i<=r-l+1;i++) if (!a[i]) ans++;
	printf("%lld",ans);
}
2021/7/30 18:44
加载中...