同样的代码,23行呢(前帖已删,代码以重贴在此帖)
  • 板块学术版
  • 楼主iniaow_kk
  • 当前回复9
  • 已保存回复9
  • 发布时间2021/6/29 12:18
  • 上次更新2023/11/4 21:21:00
查看原帖
同样的代码,23行呢(前帖已删,代码以重贴在此帖)
516459
iniaow_kk楼主2021/6/29 12:18

先感谢前帖的两位dalao为我解答了18行的错误

有没有人来教一下我其他错误,例如23行,谢谢dalao

#include<bits/stdc++.h>
using namespace std;
#define maxn 1000010
int n,N,x,pri[10000];
typedef long long LL;
bool a[maxn];
int Eratosthenes_sieve(int n,int pri[]){
	for (int i=2;i*i<=n;i++)
		if(a[i]==0)
			for(int j= i<<1;j<=n;j+=i)
				a[j] =1;
	int cnt=0;
	for(int i = 2;i<=n;i++)
		if(!a[i])pri[cnt++] = i;
	return cnt;
}
int main(){
	int cnt = Eratosthenes_sieve(50000,pri);
	LL L,R;
	scanf("%lld %lld",&L,&R);
	memset(a,0,sizeof(a));
	for(int i = 0;i<cnt;i++)
		for(LL j = max(211,(L-1)/pri[i]+1)*pri[i];j<=R;j +=pri[i])
			a[j-L] = 1;
	int ans=0;
	for(LL i = L;i<=R;i++)
		if(a[i-L] == 0)ans++;
	printf("%d",ans);
	return 0;
} 
2021/6/29 12:18
加载中...