社区讨论

蒟蒻求助 感觉写的没问题就是 T

P7588双重素数(2021 CoE-II A)参与者 2已保存回复 5

讨论操作

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

当前回复
5 条
当前快照
1 份
快照标识符
@lx44aynx
此快照首次捕获于
2024/06/07 11:19
2 年前
此快照最后确认于
2024/06/07 15:57
2 年前
查看原帖
CPP
#include<stdio.h>
#include<algorithm>
#include<vector>
#include<bitset>
using namespace std;
#define ll long long
const ll MAXFOR=1e8;
const ll MAXN=MAXFOR+18;
ll t,l,r;
vector<ll> isp,prm;
bitset<MAXN> bits;
ll add(ll x){
	ll ans=0;
	while(x){
		ans+=x%10;
		x/=10;
	}
	return ans;
}
int main(){
	bits.set(0);bits.set(1);
	for(int i=2;i<=MAXFOR;++i){
		if(!bits[i]) isp.push_back(i);
		for(int j=0;j<isp.size()&&isp[j]*i<=MAXFOR;++j){
			bits.set(isp[j]*i);
			if(i%isp[j]==0) break;
		}
	}
	for(int i=0;i<isp.size();++i) if(!bits[add(isp[i])]) prm.push_back(isp[i]);
	scanf("%lld",&t);
	while(t--){
		scanf("%lld %lld",&l,&r);
		printf("%d\n",upper_bound(prm.begin(),prm.end(),r)-prm.end()-(lower_bound(prm.begin(),prm.end(),l)-prm.end()));
	}
	return 0;
}
rt

回复

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

正在加载回复...