i got ac

Moderator: Board moderators
Code: Select all
#include<stdio.h>
#include<math.h>
long int reverse_num(long int input){
long int output=0;
while(1){
if(input<=0){
break;
}
output=10*output+(input%10);
input/=10;
}
return output;
}
int check(long int x){
register long int i;
for(i=2;i<sqrt(x);i++){
if((x%i)==0){
return 0;
}
else
continue;
}
return 1;
}
int main(){
long int num,rnum;
register int pflag,eflag;
while(scanf("%ld",&num)==1){
pflag=check(num);
rnum=reverse_num(num);
if(rnum!=1){
eflag=check(rnum);
}
else{
eflag=0;
}
if(pflag==0){
printf("%ld is not prime.\n",num);
}
else if(pflag==1 && eflag==0){
printf("%ld is prime.\n",num);
}
else if(pflag==1 && eflag==1){
printf("%ld is emirp.\n",num);
}
}
return 0;
}
thanx any way for u r suggestion , u were right about "1" . but i guess it is not in the judges test input . for "7" the output is only prime(not emirp)
BYe
Riyad
thanx any way for u r suggestion , u were right about "1" . but i guess it is not in the judges test input . for "7" the output is only prime(not emirp)An Emirp (Prime spelt backwards) is a Prime that gives you a different Prime when its digits are reversed.