Emirp is a prime number that produces different prime number when reversed not the same.
Okay?
Hope this helps! Keep posting.
Moderator: Board moderators
Emirp is a prime number that produces different prime number when reversed not the same.

if(b==d && prime(b)==b)printf("%d is prime.\n",b);
else if(prime(b)==b && prime(d)==d)printf("%d is emirp.\n",b);
else if(prime(b)==b || prime(d)==d)printf("%d is prime.\n",b);
else printf("%d is not prime.\n",b);Hmmmmmmm, AC
/***** simply emirp @ 10235 *****/
#include<stdio.h>
#include<math.h>
long isPrime(long p)
{
long s;
s=long(sqrt(p));
//if(p==1) return 1;
//if(p==2) return 1;
if(p%2==0) return 0;
for(long i=3;i<=s+1;i+=2)
if(p%i==0)
return 0;
return 1;
}
long RevisPrime(long q)
{
long r;
long val=0;
for(;q;q/=10)
val = val*10 + q%10;
r=long(sqrt(val));
//if(val==1) return 1;
//if(val==2) return 1;
if(val%2==0) return 0;
for(long k=3;k<=r+1;k+=2)
if(val%k==0)
return 0;
return 1;
}
int main()
{
long num;
long t1,t2;
while(scanf("%ld",&num)==1)
{
t1=isPrime(num);
t2=RevisPrime(num);
if(num==2||num==3||num==5||num==7||num==11)
printf("%ld is prime.\n",num);
else if(t1==0)
printf("%ld is not prime.\n",num);
else if(t1==1 && t2==1)
printf("%ld is emirp.\n",num);
else if(t1==1 && t2==0)
printf("%ld is prime.\n",num);
}
return 0;
}
keep dreaming...Removed After ACamr saqr wrote:
- Code: Select all
int index=0,temp=number;
while (temp!=0)
{
n[index]=temp%10+'0';
temp/=10;
index++;
}
int t=atoi(n);
AC..
removed after AC..
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define max 1000000
bool pr[max+1];
int prime[max];
int main()
{
long int ns,re;
int len,r,fg;
char in[10],rev[10];
//generating primes
pr[0]=true;
pr[1]=true;
for(int i=2;i*i<=max;i++)
{
if(pr[i]==true)
continue;
for(int j=i+i;j<=max;j=j+i)
pr[j]=true;
//generating ends;
}
//program starts
while(gets(in))
{
ns=atol(in);
if(pr[ns]==true)
{
printf("%ld is not prime.\n",ns);
continue;
}
else
{
len=strlen(in);
r=0;
fg=1;
for(int k=len-1;k>=0;k--)
{
if(in[k]!='0')
rev[r++]=in[k];
}
rev[r]='\0';
re=atol(rev);
//printf("%ld",re);
if(pr[re]==false && re!=ns)
fg++;
}
if(fg==1)
printf("%ld is prime.\n",ns);
else if(fg==2)
printf("%ld is emirp.\n",ns);
}
return 0;
}#include<stdio.h>
#include<math.h>
int main()
{
long int n,n1,rs;
int i,j,r;
bool chk,chk2;
while(scanf("%ld",&n)!=EOF)
{
chk=true;
if(n==0 || n==1)
chk=false;
for(i=2;i<sqrt(n);i++)
if(n%i==0)
chk=false;
if(chk==false)
printf("%ld is not prime.\n",n);
else
{
chk2=true;
rs=0;
n1=n;
while(n!=0)
{
r=n%10;
rs=rs*10+r;
n=n/10;
}
for(j=2;j<sqrt(rs);j++)
if(rs%j==0)
chk2=false;
if(rs==n1)
printf("%ld is prime.\n",n1);
else if(chk2==true)
printf("%ld is emirp.\n",n1);
else if(chk==true)
printf("%ld is prime.\n",n1);
}
}
return 0;
}
Users browsing this forum: No registered users and 1 guest