题解:P17733 [ICPC 2019 Xuzhou R] <3 numbers
jszxzjr123 · · 题解
Solution
我们直接来看一下这道题。题目让我们判断 L 到 R 之间
而
这让我们第一时间想起所有的质数都属于
但是 , 题目的范围是
质数在所有正整数里的占比遵循以下公式:
N 变大 , 质数占比慢慢变小。所以当一个范围内的数足够多时 , 那密度一定小于
代码如下:
::::success[Code]
#include<bits/stdc++.h>
using namespace std;
int t , l , r , len;
bool z(long long a){
if(a<2)return false;
if(a==2 || a==3)return true;
if(a%2==0)return false;
if(a%3==0)return false;
for(int i=2;i*i<=a;i++){
if(a%i==0) return false;
}return true;
}
int main(){
cin>>t;
while(t--){
cin>>l>>r;
len=r-l+1;
int x=0;
if(r-l+1>500){
cout<<"Yes\n";
continue;
}for(int i=l;i<=r;i++){
if(i==1||z(i)){
x++;
}
}
if (3*x<len){
cout<<"Yes\n";
}else{
cout<<"No\n";
}
}
return 0;
}
::::