栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

poj 2689 Prime Distance

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

poj 2689 Prime Distance

#include <cstdio>#include <cstring>using namespace std;int prime[4948],top=0;bool isp[48005];inline void init(){    int i,j,k;    memset(isp,1,sizeof(isp));    for(i=2;i<=48000;++i)    {        if(isp[i])prime[top++]=i;        for(j=0;j<top;++j)        { if(i*prime[j]>48000)break; isp[i*prime[j]]=0; if(!(i%prime[j]))break;        }    }}bool tmp[1000005];inline void solve(int l,int r){    int i,j,k,a,b,aa,bb;bool*p=tmp-l;    int m=0x7fffffff,M=0x80000000;    memset(tmp,1,sizeof(tmp));    if(l==1)p[1]=0;    for(i=0;i<top;++i)    {        if(prime[i]>r)break;        j=(l-1)/prime[i]+1;if(j==1)++j;        for(j*=prime[i];j>0&&j<=r;j+=prime[i]) p[j]=0;    }    for(i=l;i<r;++i)    {        if(!p[i])continue;        for(j=i+1;j<=r;++j) if(p[j])break;        if(j>r)break;        if(m>j-i){m=j-i;a=i;b=j;}        if(M<j-i){M=j-i;aa=i;bb=j;}    }    if(m==0x7fffffff)    {        puts("There are no adjacent primes.");        return;    }    printf("%d,%d are closest, %d,%d are most distant.n",a,b,aa,bb);}int main(){    int l,r;    init();    while(~scanf("%d%d",&l,&r))        solve(l,r);    return 0;}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/378021.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号