有木有和我一样的……
查看原帖
有木有和我一样的……
626374
Future_Comet楼主2024/3/24 10:21

10个RE,1个WA,代码如下

#include<bits/stdc++.h>
/*#include<windows.h>
#include<unistd.h>*/
using namespace std;
const int N=sqrt(INT_MAX);
typedef long long LL;
long long l,r,ans,k,p,a[5010];
bool f[100010];
bool pd(int n)
{
	if(n==1)
		return 0;
	for(int i=2;i<=sqrt(n);i++)
		if(n%i==0)
			return 0;
	return 1;
}
int main()
{
	ios::sync_with_stdio(0);
	cin.tie(0);
	cout.tie(0);
	memset(f,true,sizeof(f));
	/*freopen(".in","r",stdin);
	freopen(".out","w",stdout);*/
	//srand(time(NULL));
	cin>>l>>r;
	for(int i=1;i<=sqrt(N);i++)
		if(pd(i))
			a[++k]=i;
	for(int i=1;i<=sqrt(r);i++)
	{
		p=a[i];
		for(int j=max(2*p,((long long)ceil(double(l)/double(p)))*p);j<=r;j+=p)
			f[j-l+1]=false;
	}
	for(int i=1;i<=r-l+1;i++)
		if(f[i])
			ans++;
	cout<<ans;
	return 0;
}
2024/3/24 10:21
加载中...