内存:128  时间:1

题目描述

输入一个数 N(0<N<10000),判断N是否为可逆素数。(可逆素数指:一个素数将其各位数字的顺序倒过来构成的反序数也是素数。

输入

输入N

输出

YES 或者 NO

样例输入

1009

样例输出

YES

提示

代码如下

#include <stdio.h>  
#include <math.h>  
#include <iostream>
using namespace std; 
int inverse(int n);  
int isPrimer(int n);  
main()  
{  
    int i;  
    cin>>i;
        if (isPrimer(i))  
        {  
            if (isPrimer(inverse(i)))  
                cout<<"YES";  
            else{
            	cout<<"NO";
			}
        }
		else{
			cout<<"NO"; 
		}  
      
}  
int inverse(int n)  
{  
    int m=0,a;  
    for (;n>0;n/=10)  
    {  
        a=n%10;  
        m=m*10+a;  
    }  
        return(m);  
}  
int isPrimer(int n)    
{    
    int i,judge=1;    
    for (i=2;i<=sqrt(n);i++)    
    {    
        if (n%i==0)    
        {    
            judge=0;    
            break;    
        }    
    }    
    return judge;    
}    

代码来源于互联网,仅供参考!