徐州区域赛C题numbers

第二天叫醒我的不是闹钟,是梦想!

素数的分布很稀疏 区间长度如果大于300的话素数的个数肯定小于区间长度的1/3.
对于300以内的暴力算



#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
int t;
int  l,r;
bool is_prime(int x)
{
  int i;
  if(i==0) return false;
  if(i==1) return true;
  for( i=2;i<=sqrt(x)&&x%i;i++) ;
  if(i>sqrt(x)) return true;
  return false;

}
int main()
{
  scanf("%d",&t);
  while(t--)
  {
    scanf("%d %d",&l,&r);
    if(r-l+1<=300)
    {
      int sum=0;
      for(int i=l;i<=r;i++)
      {
        if(is_prime(i))  sum++;
      }
       if(3*sum<(r-l+1)) puts("Yes");
      else puts("No");
    }
    else puts("Yes");
  }
}

发布了289 篇原创文章 · 获赞 6 · 访问量 4010

猜你喜欢

转载自blog.csdn.net/qq_43690454/article/details/103481527