欧拉筛+二分判断是否存在
2025-07-23 16:08:16
发布于:浙江
0阅读
0回复
0点赞
#include<bits/stdc++.h>
using namespace std;
vector<int>prime;
void sieve(int n){
vector<bool>isprime(n+1,true);
for (int i=2;i<=n;i++){
if (isprime[i])
prime.push_back(i);
for (int p:prime){
if (p*i>n)
break;
isprime[p*i]=false;
if (i%p==0)
break;
}
}
}
string judge(int n){
if (binary_search(prime.begin(),prime.end(),n)) return "Yes";
else return "No";
}
int main(){
sieve(10000);
int n;cin>>n;cout<<judge(n);
}
这里空空如也
有帮助,赞一个