社区讨论

0分求掉

P1835素数密度参与者 2已保存回复 1

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
1 条
当前快照
1 份
快照标识符
@mm49fmcv
此快照首次捕获于
2026/02/27 10:15
上周
此快照最后确认于
2026/02/28 18:30
上周
查看原帖
本人是蒟蒻
CPP
#include<bits/stdc++.h>
using namespace std;
int p[10005];
bool b[1000005],a[10005];
int main() {
	int l,r,cnt = 0;
	cin >> l >> r;
	if(l == 1) l = 2;
	int k = sqrt(r);
	for(int i = 1; i<=k; i++) {
		if(a[i] == 0) {
			p[++cnt] = i;
			for(int j = 2; j*i<=k; j++)
				a[i*j] = 1;
		}
	}
	for(int i = 1; i<=cnt; i++) {
		for(int j = max(2,l/p[i]); j<=r; j+=p[i]) {
			if(j >= l)
				b[j-l] = 1;
		}
	}
	int ans = 0;
	for(int i = l; i<=r; i++)
		if(b[i-l] == 0)
			ans++;
	cout << r-l-ans;
	return 0;
}

回复

1 条回复,欢迎继续交流。

正在加载回复...