为什么0分啊,大佬求调 P1835
  • 板块灌水区
  • 楼主eason2025
  • 当前回复13
  • 已保存回复13
  • 发布时间2023/8/23 14:42
  • 上次更新2023/11/3 01:46:04
查看原帖
为什么0分啊,大佬求调 P1835
957300
eason2025楼主2023/8/23 14:42
#include<bits/stdc++.h>
using namespace std;
int prime[1000010],vis[1000010],ans[1000010],cnt,sum,l,r;
inline void h()
{
	for(long long register i=2;i<=50000;++i)
		if(vis[i]==0)
		{
			prime[++cnt]=i;
			for(long long register j=i+i;j<=50000;j+=i) 
				vis[j]=1;
		} 
}
int main()
{
	h();
	scanf("%lld%lld",&l,&r);
	for(long long register i=1;i<=cnt;++i)
		for(long long register j=max(2,(l-1)/prime[i]+1)*prime[i];j<=r;j+=prime[i])
            if(j-l>=0)
				ans[j-l]=1;
	for(long long register i=0;i<=r-l;++i)
		if(ans[i]==0)
			sum++;
	printf("%lld\n",sum);
	return 0;
} 
2023/8/23 14:42
加载中...