zoukankan      html  css  js  c++  java
  • UVA10140 Prime Distance

     1 #include<iostream>
     2 #include<cstring>
     3 using namespace std;
     4 const int maxn=1e6+10;
     5  
     6 long long l,r,prime[maxn],vis[maxn],p[maxn],a[maxn];
     7 int tot=0;
     8 
     9 int pre(long long n)
    10 {
    11     for(int i=2;i<=n;i++)
    12     {
    13         if(!vis[i])
    14         {
    15             vis[i]=i;
    16             prime[++tot]=i;
    17         }
    18         for(int j=1;j<=tot;j++)
    19         {
    20             if(i*prime[j]>n)
    21             {
    22                 break;
    23             }
    24             if(prime[j]>vis[i])
    25             {
    26                 break;
    27             }
    28             vis[i*prime[j]]=prime[j];
    29         }
    30     }
    31 }
    32 int main()
    33 {
    34     pre(5e4+10);
    35     while(cin>>l>>r)
    36     {
    37         memset(p,0,sizeof(p));
    38         if(l==1)
    39         {
    40             l=2;
    41         }
    42         long long cnt=0,min1,min2,max1,max2,minn=0x3f3f3f3f,maxx=-0x3f3f3f3f;
    43         for(int j=1;j<=tot;j++)
    44         {
    45             for(int i=l/prime[j];i<=r/prime[j];i++)
    46             {
    47                 while(i<=1)
    48                 {
    49                     i++;
    50                 }
    51                 if(prime[j]*i<l||prime[j]*i>r)
    52                 {
    53                     continue;
    54                 }
    55                 p[prime[j]*i-l]=1;
    56             }  
    57         }
    58         for(int i=l;i<=r;i++)
    59         {
    60             if(p[i-l]==0)
    61             {
    62                 a[++cnt]=i;
    63             }
    64         }
    65         if(cnt<=1)
    66         {
    67             //cout<<cnt<<endl;
    68             cout<<"There are no adjacent primes."<<endl;
    69             continue;
    70         }
    71         for(int i=1;i<=cnt-1;i++)
    72         {
    73             if(a[i+1]-a[i]<minn)
    74             {
    75                 minn=a[i+1]-a[i];
    76                 min1=a[i+1];
    77                 min2=a[i];
    78             }
    79             if(a[i+1]-a[i]>maxx)
    80             {
    81                 maxx=a[i+1]-a[i];
    82                 max1=a[i+1];
    83                 max2=a[i];
    84             }
    85         }
    86         //cout<<cnt<<endl;
    87         cout<<min2<<","<<min1<<" are closest, "<<max2<<","<<max1<<" are most distant."<<endl;
    88     }
    89     return 0;
    90 }
  • 相关阅读:
    IE9的兼容性
    element 弹框关闭报错
    时间选择器moment格式化存在时差问题
    项目常见bug
    函数封装——函数封装——函数封装
    element-ui 日期选择器范围时间限制
    vue + element 创建教程
    Html基础学习
    HTML、PHP、CSS、JS之间的关系
    vs连接MySQL
  • 原文地址:https://www.cnblogs.com/2529102757ab/p/11234442.html
Copyright © 2011-2022 走看看