zoukankan      html  css  js  c++  java
  • ACwing 196. 质数距离

    #include <bits/stdc++.h>
    
    using namespace std;
    const int N = 1000010, M = 5000010;
    int v[M];
    long long prime[N],prim[N];
    int cun=0;
    int inint(int n)
    {
        for(int i=2;i<=n;i++)
        {
            if(!v[i])
            {
                v[i]=i;
                prim[cun++]=i;
            }
            for(int j=0;j<cun;j++)
            {
                if(prim[j]>n/i||prim[j]>v[i])break;
                v[i*prim[j]]= prim[j];
            }
        }
    }
    int main()
    {
        long long l, r;
        inint(1000010);
        while(cin >> l>> r)
       {
           memset(v,0,sizeof(v));
           for(int i=0;i<cun;i++)
           {
               
               long long p=prim[i];
               for(long long j = max(2*p,(l+p-1)/p*p);j<=r;j+=p)
               {
                   v[j-l]=1;
               }
           }
           cun =0;
           for(int i= 0;i<=r-l;i++)
           {
               if(v[i]==0&&i+l>1)prime[cun++] = i;
           }
           if(cun <2)
           {
               cout <<"There are no adjacent primes."<<endl;
           }
           else{
               int mind=0,maxd=0;
               for(int i=0;i+1<cun;i++)
               {
                   int d = prime[i+1] - prime[i];
                   if(d>prime[maxd+1]-prime[maxd])maxd=i;
                   if(d<prime[mind+1]-prime[mind])mind = i;
               }
               printf("%d,%d are closest, %d,%d are most distant.
    ",prime[mind]+l,prime[mind+1]+l,prime[maxd]+l,prime[maxd+1]+l);
           }
       }
    
        return 0;
    }
    你的脸上风淡云轻,谁也不知道你的牙咬得有多紧。你走路带着风,谁也不知道你膝盖上仍有曾摔过的伤的淤青。你笑得没心没肺,没人知道你哭起来只能无声落泪。要让人觉得毫不费力,只能背后极其努力。我们没有改变不了的未来,只有不想改变的过去。
  • 相关阅读:
    CentOS 7 iSCSI 多路径Multipath配置
    Centos7 GRE Tunnel
    ESXi开启虚拟化
    ownCloud 10.2.1搭建云盘服务器
    cinder不同类型volume转换
    linux的bond及子接口配置
    openstack 平台添加vGPU
    ownCloud 10.2.1搭建云盘服务器
    openstack nova 热迁移问题
    bugku-web40对git命令的使用
  • 原文地址:https://www.cnblogs.com/wangzhe52xia/p/11377550.html
Copyright © 2011-2022 走看看