0分求助QWQ
查看原帖
0分求助QWQ
600143
9gehetao楼主2023/11/12 13:39
#include<bits/stdc++.h> 
using namespace std;
int l,r,cnt,ans,zs[10000000];
bool k[66666666],h[6666666];
int main(){

    cin>>l>>r;
    int a=sqrt(r);
    for(int i=2;i<=a;i++){
        if(!k[i])
		zs[++cnt]=i;
        for(int j=1;j<=cnt;j++)
		{
		if(i*zs[j]>a)
		break;
		k[zs[j]*i]=1;
		if(i%zs[j]==0)
		break;
		}
	}
    for(int i=1;i<=cnt;i++){
	for(int j=r/zs[i];j>=max(l/zs[i],2);j-- )
	h[zs[i]*j-1]=1;
	}
    for(int i=0;i<=r-1;i++){
	if(!h[i])
	ans++;
	}
    cout<<ans;
    return 0;
}
2023/11/12 13:39
加载中...