链接:https://ac.nowcoder.com/acm/contest/19859/C
来源:牛客网
时间限制:C/C++ 1秒,其他语言2秒
空间限制:C/C++ 32768K,其他语言65536K
64bit IO Format: %lld

题目描述

现在给出一个素数,这个素数满足两点:

1、  只由1-9组成,并且每个数只出现一次,如13,23,1289。

2、  位数从高到低为递减或递增,如2459,87631。

请你判断一下,这个素数的回文数是否为素数(13的回文数是131,127的回文数是12721)。

输入描述:

	
输入只有1行。
第1行输入一个整数t,保证t为素数。
数据保证:9<t<109

输出描述:

输出一行字符串,如果t的回文数仍是素数,则输出“prime”,否则输出"noprime"。
示例1

输入

复制 13
13

输出

复制 prime
prime

说明

13的回文数是131,131是素数
示例2

输入

复制 17
17

输出

复制 noprime
noprime

说明

17的回文数是171,171不是素数(因子有3)

备注:

素数定义为在大于1的自然数中,除了1和它本身以外不再有其他因数。
素数的回文数为题意中的定义,1331不是素数的回文数。
#include<iostream>
#include<cmath>
#include<cstring>
using namespace std;
int main()
{
    long long n,m=0;
    cin>>n;
    m=n,n/=10;
    while(n)
    {
        m=m*10+n%10;
        n/=10;
    }
    for(int i=2;i<=sqrt(m);i++)
    {
        if(m%i==0)
        {
            cout<<"noprime";
            return 0;
        }
    }
    cout<<"prime";
    return 0; 
}