社区讨论

40pts,RE六个点

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

讨论操作

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

当前回复
3 条
当前快照
1 份
快照标识符
@mizy0b8r
此快照首次捕获于
2025/12/10 19:45
2 个月前
此快照最后确认于
2025/12/13 10:00
2 个月前
查看原帖
CPP
#include<set>
#include<map>
#include<list>
#include<queue>
#include<deque>
#include<stack>
#include<cmath>
#include<ctime>
#include<array>
#include<tuple>
#include<mutex>
#include<cfloat>
#include<cctype>
#include<cstdio>
#include<cwchar>
#include<vector>
#include<bitset>
#include<string>
#include<memory>
#include<random>
#include<thread>
#include<climits>
#include<cstring>
#include<cassert>
#include<csignal>
#include<cstdlib>
#include<cwctype>
#include<cstddef>
#include<utility>
#include<numeric>
#include<iomanip>
#include<sstream>
#include<fstream>
#include<valarray>
#include<iterator>
#include<iostream>
#include<typeinfo>
#include<algorithm>
#include<exception>
#include<functional>
#define N 10000010
using namespace std;
#define For(i,_beg,_end) for(int i=(_beg),i##end=(_end);i<=i##end;++i)
#define Rep(i,_beg,_end) for(int i=(_beg),i##end=(_end);i>=i##end;--i)
unsigned long long p[10000010];
bool v[10000010];
unsigned long long xxs(unsigned long long n){
	int cnt=0;
    memset(v,0,sizeof(v));
    memset(p,0,sizeof(p));
    for(unsigned long long i=2;i<=n;i++){
    	if(!v[i]){
    		p[cnt++]=i;
		}
		for(unsigned long long j=0;j<cnt;j++){
			if(i*p[j]>n){
				break;
			}
			v[i*p[j]]=1;
			if(i%p[j]==0){
				break;
			}
		}
	}
	return cnt;
}
template<typename T>T Max(const T &x,const T &y){return x<y?y:x;}
template<typename T>T Min(const T &x,const T &y){return x<y?x:y;}
template<typename T>int chkmax(T &x,const T &y){return x<y?(x=y,1):0;}
template<typename T>int chkmin(T &x,const T &y){return x>y?(x=y,1):0;}
template<typename T>void read(T&x){T f=1;char c=getchar();for(;c<'0'||c>'9';c=getchar())if(c=='-')f=-1;for(x=0;c>='0'&&c<='9';c=getchar())x=x*10+c-'0';x*=f;}
signed main(){
	ios::sync_with_stdio(false);
	cin.tie(0);
	unsigned long long n,m;
	read(n);
	read(m);
    unsigned long long w=xxs(m);
	unsigned long long s=0;
	for(unsigned long long i=0;i<w;i++){
		if(p[i]>=n&&p[i]<=m){
			s++;
		}
	}
	cout<<s;
	return 0;
}

回复

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

正在加载回复...