#include <bits/stdc++.h>
using namespace std;
#define mx 48000
long long vis[48000]= {0},ar[48000]= {0},i,j,k=0;
vector<long long >vec;
void sieve()
{
for(i=4; i<=mx; i+=2)
vis[i]=1;
for(i=3; i<=sqrt(mx); i+=2)
{
if(vis[i]==0)
{
for(j=2*i; j<=mx; j+=i)
{
vis[j]=1;
}
}
}
vis[1]=1,vis[0]=1;
for(i=1; i<=mx; i++)
{
if(vis[i]==0)
{
ar[k++]=i;
}
}
}
bool chk(long long nm)
{
if(nm>=k)
{
for(long long i1=0; i1<k&&ar[i1]<=sqrt(nm); i1++)
{
if(nm%ar[i1]==0)
{
return 0;
}
}
return 1;
}
else
{
if(vis[i]==0)
return 1;
else
return 0;
}
}
main()
{
sieve();
long long l,u;
while(cin>>l>>u)
{
for(i=l; i<=u; i++)
{
if(chk(i))
{
vec.push_back(i);
}
}
long long ll=vec.size(),dif=0,dif2,dif1,f=0,f1=0;
if(ll<2)
printf("There are no adjacent primes.\n");
else
{
for(i=1; i<ll; i++)
{
if(i==1)
{
dif=vec[i]-vec[i-1];
dif1=vec[i]-vec[i-1];
f=f1=i;
}
else
{
dif2=vec[i]-vec[i-1];
if(dif2<dif)
{
f=i;
dif=dif2;
}
if(dif2>dif1)
{
dif1=dif2;
f1=i;
}
}
}
printf("%lld,%lld are closest, %lld,%lld are most distant.\n",vec[f-1],vec[f],vec[f1-1],vec[f1]);
}
vec.clear();
}
}
using namespace std;
#define mx 48000
long long vis[48000]= {0},ar[48000]= {0},i,j,k=0;
vector<long long >vec;
void sieve()
{
for(i=4; i<=mx; i+=2)
vis[i]=1;
for(i=3; i<=sqrt(mx); i+=2)
{
if(vis[i]==0)
{
for(j=2*i; j<=mx; j+=i)
{
vis[j]=1;
}
}
}
vis[1]=1,vis[0]=1;
for(i=1; i<=mx; i++)
{
if(vis[i]==0)
{
ar[k++]=i;
}
}
}
bool chk(long long nm)
{
if(nm>=k)
{
for(long long i1=0; i1<k&&ar[i1]<=sqrt(nm); i1++)
{
if(nm%ar[i1]==0)
{
return 0;
}
}
return 1;
}
else
{
if(vis[i]==0)
return 1;
else
return 0;
}
}
main()
{
sieve();
long long l,u;
while(cin>>l>>u)
{
for(i=l; i<=u; i++)
{
if(chk(i))
{
vec.push_back(i);
}
}
long long ll=vec.size(),dif=0,dif2,dif1,f=0,f1=0;
if(ll<2)
printf("There are no adjacent primes.\n");
else
{
for(i=1; i<ll; i++)
{
if(i==1)
{
dif=vec[i]-vec[i-1];
dif1=vec[i]-vec[i-1];
f=f1=i;
}
else
{
dif2=vec[i]-vec[i-1];
if(dif2<dif)
{
f=i;
dif=dif2;
}
if(dif2>dif1)
{
dif1=dif2;
f1=i;
}
}
}
printf("%lld,%lld are closest, %lld,%lld are most distant.\n",vec[f-1],vec[f],vec[f1-1],vec[f1]);
}
vec.clear();
}
}
কোন মন্তব্য নেই:
একটি মন্তব্য পোস্ট করুন